<?xml version="1.0" encoding="utf-8"?>
<moduleinfo name="Runtime.Sound">
  <dependencies>
    <module id="modules:/base.moduleinfo" />
    <module id="modules:/system.connection.moduleinfo" />
    <module id="modules:/system.serializer.moduleinfo" />
    <module id="modules:/system._shared.moduleinfo" />
    <module id="modules:/runtime.core.moduleinfo" />
    <module id="modules:/runtime.debug.moduleinfo" />
    <module id="modules:/runtime.entity.moduleinfo" />
    <module id="modules:/runtime.localization.moduleinfo" />
    <module id="modules:/runtime.physics.moduleinfo" />
    <module id="modules:/runtime.render.moduleinfo" />
    <module id="modules:/runtime.resource.moduleinfo" />
    <module id="modules:/runtime._shared.moduleinfo" />
    <module id="modules:/system.render.moduleinfo" />
    <module id="modules:/system.morpheme.moduleinfo" />
    <module id="modules:/system.physics.moduleinfo" />
    <module id="modules:/runtime.animation.moduleinfo" />
    <module id="modules:/runtime.curve.moduleinfo" />
  </dependencies>
  <classes>
    <class name="ISoundUpdateListener" fullPropertyList="{}">
      <properties />
    </class>
    <class name="ZSoundAmbienceInsideOutsideSwitch" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceInsideOutsideSwitch),(+BELONGS_TO_SUBSET)=(Activatable_NormalGameplay,IEntity)}" entity="Sound.Ambience.AmbienceInsideOutsideSwitch">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_bTriggerOnTransition" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Trigger on transition" />
            <attribute Name="HELPTEXT" Value="If set, the Trigger input pin will be ignored and the entity will fire the Inside/Outside pins whenever the inside state of the current ambience changes." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Trigger" helptext="Input trigger sent to outputs" />
      </inputpins>
      <outputpins>
        <pin type="void" name="Inside" helptext="Triggers when the current ambience has its inside property set while the input pin is triggered or this entity is configured to trigger on transitions" />
        <pin type="void" name="Outside" helptext="Triggers when the current ambience doesn't have its inside property set while the input pin is triggered or this entity is configured to trigger on transitions" />
      </outputpins>
    </class>
    <class name="ZCurveEvaluator" fullPropertyList="{}" entity="Runtime.Sound.CurveEvaluator">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_Curve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01||0|100|||||L|C0|2|0,1.0;C2;S;2;-0.1,1.0;0.1,1.0|1,0.0;C2;S;2;0.9,0;1.1,0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Curve" />
            <attribute Name="CHANGEHANDLER" Value="True" />
          </attributes>
        </property>
        <property Name="m_bSendValueOnInit" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="SendOnInit" />
            <attribute Name="HELPTEXT" Value="Send value on init. If true, the entity will send an output right after initialization (note that scene stop causes reinitialization too)." />
          </attributes>
        </property>
        <property Name="m_fInitInput" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="InitInput" />
            <attribute Name="HELPTEXT" Value="Value on input port right after initialization (note that scene stop causes reinitialization too)." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Input" helptext="The input value" />
      </inputpins>
      <outputpins>
        <pin type="float32" name="Output" helptext="The evaluated output value" />
      </outputpins>
    </class>
    <class name="ZEnvelopeFollower" fullPropertyList="{}" entity="Runtime.Sound.EnvelopeFollower">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="IMusicUpdateable" />
      </baseclasses>
      <properties>
        <property Name="m_fAttackTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.2" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attack time" />
            <attribute Name="CONSTRAINT" Value="MinValue(0) MaxValue(100)" />
            <attribute Name="HELPTEXT" Value="The time in seconds it takes for the envelope to rise when the input value is larger than the envelope" />
          </attributes>
        </property>
        <property Name="m_fReleaseTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Release time" />
            <attribute Name="CONSTRAINT" Value="MinValue(0) MaxValue(100)" />
            <attribute Name="HELPTEXT" Value="The time in seconds it takes for the envelope to fall when the input value is smaller than the envelope" />
          </attributes>
        </property>
        <property Name="m_fSmoothness" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Smoothness" />
            <attribute Name="CONSTRAINT" Value="MinValue(0) MaxValue(1)" />
            <attribute Name="HELPTEXT" Value="Smoothness of output signal. 0 = 1st order filtering, 1 = 3rd order filtering" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Input" helptext="The input value" />
      </inputpins>
      <outputpins>
        <pin type="float32" name="Output" helptext="The smoothalized output value" />
      </outputpins>
    </class>
    <class name="ZListenerDistanceMeasurer" fullPropertyList="{(DISPLAYNAME)=(Sound.ListenerDistanceMeasurer),(+BELONGS_TO_SUBSET)=(Activatable, IEntity)}" entity="Sound.ListenerDistanceMeasurer">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_rTarget" Type="TEntityRef&lt; ZSpatialEntity &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Target" />
            <attribute Name="HELPTEXT" Value="The spatial entity to measure distance to the listener against" />
          </attributes>
        </property>
      </properties>
      <outputpins>
        <pin type="float32" name="Distance" helptext="The distance to the listener" />
        <pin type="float32" name="AngleLookAt" helptext="Angle towards looking direction" />
      </outputpins>
    </class>
    <class name="ZSmoothOperator" fullPropertyList="{}" entity="Runtime.Sound.SmoothOperator">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="IMusicUpdateable" />
      </baseclasses>
      <properties>
        <property Name="m_fTransitionTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnTransitionTimeChanged" />
            <attribute Name="DISPLAYNAME" Value="Transition Time" />
            <attribute Name="HELPTEXT" Value="The time it takes for a value to go from the existing value to the one on the input pin" />
          </attributes>
        </property>
        <property Name="m_eSmoothingMode" Type="ESmoothingMode">
          <attributes>
            <attribute Name="INIT" Value="ESM_LINEAR" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSmoothingModeChanged" />
            <attribute Name="DISPLAYNAME" Value="Smoothing mode" />
            <attribute Name="HELPTEXT" Value="Linear = legacy mode. Exponential = adapts smoothing" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Input" helptext="The input value" />
        <pin type="float32" name="TransitionTime" helptext="Transition time" />
      </inputpins>
      <outputpins>
        <pin type="float32" name="Output" helptext="The smoothalized output value" />
      </outputpins>
    </class>
    <class name="ZSoundChannelGroup" fullPropertyList="{(DISPLAYNAME)=(Sound.ChannelGroup)}" entity="Sound.ChannelGroup">
      <baseclasses>
        <baseclass type="ZSoundChannelGroupBase" />
      </baseclasses>
      <properties>
        <property Name="m_sGroupName" Type="ZString">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Group name" />
          </attributes>
        </property>
        <property Name="m_pParentGroup" Type="TEntityRef&lt; ISoundChannelGroup &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Parent group" />
            <attribute Name="HELPTEXT" Value="Parent group that this group belongs to." />
          </attributes>
        </property>
        <property Name="m_eParentMapping" Type="ESoundChannelGroup">
          <attributes>
            <attribute Name="INIT" Value="ESCG_NONE" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Parent Mapping" />
            <attribute Name="HELPTEXT" Value="If different from ESCG_NONE, this group will be a child of the specified parent group. If this entity is connected to a parent group via a reference, the reference will take precedence over the mapping." />
          </attributes>
        </property>
        <property Name="m_eMapping" Type="ESoundChannelGroup">
          <attributes>
            <attribute Name="INIT" Value="ESCG_NONE" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Mapping" />
            <attribute Name="HELPTEXT" Value="Mapping to enum in animation tool." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundChannelGroupBase" fullPropertyList="{(ABSTRACT)=(True)}">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundChannelGroup" />
      </baseclasses>
      <properties>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation" />
            <attribute Name="CHANGEHANDLER" Value="OnAttenuationChanged" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Attenuation of group in dB" />
          </attributes>
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Pitch" />
            <attribute Name="CHANGEHANDLER" Value="OnPitchChanged" />
            <attribute Name="HELPTEXT" Value="Pitch of group in cents" />
          </attributes>
        </property>
        <property Name="m_pEffect" Type="TEntityRef&lt; ISoundEffect &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnEffectChanged" />
            <attribute Name="DISPLAYNAME" Value="Effect" />
            <attribute Name="HELPTEXT" Value="Effect" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetAttenuationGain" helptext="Attenuation of group in dB" />
        <pin type="float32" name="SetPitchShift" helptext="Pitch of group in cents" />
        <pin type="float32" name="SetDuckingAttenuation" helptext="Ducking attenuation in dB" />
      </inputpins>
    </class>
    <class name="ZSoundChannelGroupDuckMaster" fullPropertyList="{(DISPLAYNAME)=(Sound.ChannelGroupDuckMaster)}" entity="Sound.ChannelGroupDuckMaster">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_fDuckingAttackTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking attack time" />
            <attribute Name="HELPTEXT" Value="Attack time for ducking" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100)" />
          </attributes>
        </property>
        <property Name="m_fDuckingDecayTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking decay time" />
            <attribute Name="HELPTEXT" Value="Decay time" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100)" />
          </attributes>
        </property>
        <property Name="m_fDuckingReleaseTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking release time" />
            <attribute Name="HELPTEXT" Value="Release time" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100)" />
          </attributes>
        </property>
        <property Name="m_fDuckingPeakAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking peak attenuation" />
            <attribute Name="HELPTEXT" Value="Ducking peak attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
        <property Name="m_fDuckingSustainAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking sustain attenuation" />
            <attribute Name="HELPTEXT" Value="Ducking sustain attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
        <property Name="m_fDuckingThreshold" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-20.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking threshold" />
            <attribute Name="HELPTEXT" Value="Ducking threshold" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
        <property Name="m_fDuckingRatio" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking ratio" />
            <attribute Name="HELPTEXT" Value="Ducking ratio" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(100)" />
          </attributes>
        </property>
        <property Name="m_bDuckingAddChannelAttenuationToPeak" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Add channel attenuation to peak" />
            <attribute Name="HELPTEXT" Value="Add perceived channel attenuation to envelope peak attenuation" />
          </attributes>
        </property>
        <property Name="m_bDuckingAddChannelAttenuationToSustain" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Add channel attenuation to sustain" />
            <attribute Name="HELPTEXT" Value="Add perceived channel attenuation to envelope sustain attenuation" />
          </attributes>
        </property>
        <property Name="m_bUseChannelEnvelopes" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use channel envelopes" />
            <attribute Name="HELPTEXT" Value="Use channel envelopes instead of global envelope" />
          </attributes>
        </property>
        <property Name="m_bUseGameTime" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use game time" />
            <attribute Name="HELPTEXT" Value="Use game time instead of real time to scale envelopes" />
          </attributes>
        </property>
        <property Name="m_eDuckingChannelAttenuationMode" Type="ZSoundChannelGroupDuckMaster.EDuckingChannelAttenuationMode">
          <attributes>
            <attribute Name="INIT" Value="eDuckingChannelAttenuationMode_Loudest" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ducking channel attenuation mode" />
            <attribute Name="HELPTEXT" Value="Controls behavior when multiple sounds are playing on the group." />
          </attributes>
        </property>
      </properties>
      <outputpins>
        <pin type="float32" name="DuckingAttenuation" helptext="Ducking attenuation in dB" />
        <pin type="float32" name="LoudestSoundDistance" helptext="Distance to loudest sound in meters" />
        <pin type="void" name="FirstSoundStarted" helptext="Triggers when the first sound starts" />
        <pin type="void" name="LastSoundStopped" helptext="Triggers when the first sound stops" />
      </outputpins>
    </class>
    <class name="ZSoundChannelGroupProxy" fullPropertyList="{(DISPLAYNAME)=(Sound.ChannelGroupProxy)}" entity="Sound.ChannelGroupProxy">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundChannelGroup" />
      </baseclasses>
      <properties>
        <property Name="m_sGroupName" Type="ZString">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Group name" />
          </attributes>
        </property>
        <property Name="m_eGroupMapping" Type="ESoundChannelGroup">
          <attributes>
            <attribute Name="INIT" Value="ESCG_NONE" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Group mapping" />
            <attribute Name="HELPTEXT" Value="If different from ESCG_NONE, the proxy wil map to the specified mapped group. If the group name string property is not empty, it will take precedence over the mapping property, but if a group with the given name cannot be found, the mapping will be used." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundDefinition" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundDefinition)}" entity="Sound.SoundDefinition">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundDefinition" />
      </baseclasses>
      <properties>
        <property Name="m_SoundDefinitionID" Type="TResourcePtr&lt; ZSDefsData &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="NAME" Value="m_SoundDefinitionID" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="SoundDefinition" />
            <attribute Name="CONSTRAINT" Value="ResourceType(sdefs,sdefs)" />
          </attributes>
        </property>
        <property Name="m_Emitter" Type="TEntityRef&lt; ISoundPlayable &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Emitter" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="int32" name="PlayDefinition" helptext="Plays a specified definition" />
      </inputpins>
      <outputpins>
        <pin type="int32" name="PlayedGroup" helptext="Signalled when a sound def in a specified group was played" />
      </outputpins>
    </class>
    <class name="ZSoundEffectHighpassSimple" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.HighpassSimple)}" entity="Sound.SoundEffect.HighpassSimple">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCutoffFreq" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Cutoff freq" />
            <attribute Name="CHANGEHANDLER" Value="OnCutoffFreqChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(10) MaxValue(22000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Highpass cutoff frequency in hz.  10.0 to 22000.0.  Default = 1000.0" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="CutoffFreq" helptext="Highpass cutoff frequency in hz.  10.0 to 22000.0.  Default = 1000.0" />
      </inputpins>
    </class>
    <class name="ZSoundEffectMcDSPML1Limiter" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.McDSPML1Limiter)}" entity="Sound.SoundEffect.McDSPML1Limiter">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCeiling" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ceiling" />
            <attribute Name="CHANGEHANDLER" Value="OnCeilingChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-36) MaxValue(0) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Ceiling.  -36.0 to 0.0.  Default = -10.0" />
          </attributes>
        </property>
        <property Name="m_fThreshold" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Threshold" />
            <attribute Name="CHANGEHANDLER" Value="OnThresholdChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-36) MaxValue(0) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="" />
          </attributes>
        </property>
        <property Name="m_fKnee" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Knee" />
            <attribute Name="CHANGEHANDLER" Value="OnKneeChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="" />
          </attributes>
        </property>
        <property Name="m_fRelease" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="10" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Release" />
            <attribute Name="CHANGEHANDLER" Value="OnReleaseChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(5000) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="" />
          </attributes>
        </property>
        <property Name="m_fCharacter" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Character" />
            <attribute Name="CHANGEHANDLER" Value="OnCharacterChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(5) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Ceiling" helptext="Ceiling.  -36.0 to 0.0.  Default = -10.0" />
        <pin type="float32" name="Threshold" helptext="" />
        <pin type="float32" name="Knee" helptext="" />
        <pin type="float32" name="Release" helptext="" />
        <pin type="float32" name="Character" helptext="" />
      </inputpins>
    </class>
    <class name="ZSoundEffectSimpleReverb" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.SimpleReverb)}" entity="Sound.SoundEffect.SimpleReverb">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fWet" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Wet" />
            <attribute Name="CHANGEHANDLER" Value="OnWetChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Wet amount" />
          </attributes>
        </property>
        <property Name="m_fGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Output gain" />
            <attribute Name="CHANGEHANDLER" Value="OnGainChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Output gain" />
          </attributes>
        </property>
        <property Name="m_fDecay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Decay" />
            <attribute Name="CHANGEHANDLER" Value="OnDecayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(15) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Output gain" />
          </attributes>
        </property>
        <property Name="m_fColor" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Color" />
            <attribute Name="CHANGEHANDLER" Value="OnColorChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="Color" />
          </attributes>
        </property>
        <property Name="m_fDiffusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Diffusion" />
            <attribute Name="CHANGEHANDLER" Value="OnDiffusionChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="Diffusion" />
          </attributes>
        </property>
        <property Name="m_fDamping" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Damping" />
            <attribute Name="CHANGEHANDLER" Value="OnDampingChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(5)" />
            <attribute Name="HELPTEXT" Value="Damping" />
          </attributes>
        </property>
        <property Name="m_fHPFCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="HPF Cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnHPFCutoffChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(6)" />
            <attribute Name="HELPTEXT" Value="HPF Cutoff" />
          </attributes>
        </property>
        <property Name="m_nNumCombs" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="4" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Num combs" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(8)" />
            <attribute Name="HELPTEXT" Value="Number of comb filters" />
          </attributes>
        </property>
        <property Name="m_nNumAllpasses" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="3" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Num allpasses" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(4)" />
            <attribute Name="HELPTEXT" Value="Number of comb allpass filters" />
          </attributes>
        </property>
        <property Name="m_bShowPerformance" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Show performance" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="HELPTEXT" Value="Show performance stats" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Wet" helptext="Wet amount in dB" />
        <pin type="float32" name="Gain" helptext="Gain in dB" />
        <pin type="float32" name="Decay" helptext="Decay in seconds" />
        <pin type="float32" name="Color" helptext="Color" />
        <pin type="float32" name="Diffusion" helptext="Diffusion" />
        <pin type="float32" name="Damping" helptext="Damping" />
        <pin type="float32" name="HPFCutoff" helptext="HPF cutoff frequency" />
      </inputpins>
    </class>
    <class name="ZSoundEntity" fullPropertyList="{(+BELONGS_TO_SUBSET)=(Streamable,IEntity)}" entity="Runtime.Sound.Sound">
      <baseclasses>
        <baseclass type="ZSoundPlayableBase" />
        <baseclass type="ISoundPlayable" />
        <baseclass type="ISoundModifiable" />
        <baseclass type="ISoundEffectAttachable" />
        <baseclass type="ISoundPlayerChannelOwner" />
      </baseclasses>
      <properties>
        <property Name="m_WaveBankResourceID" Type="TResourcePtr&lt; ZWaveBankData &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="STREAMABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="NAME" Value="m_WaveBankResourceID" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="WaveBank" />
            <attribute Name="CONSTRAINT" Value="ResourceType(wavebank,wavebank;localized-wavebank,localized-wavebank)" />
          </attributes>
        </property>
        <property Name="m_nChannel" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel" />
            <attribute Name="HELPTEXT" Value="The channel index in the wavebank to play" />
          </attributes>
        </property>
        <property Name="m_nPriority" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="128" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Voice priority" />
            <attribute Name="HELPTEXT" Value="Priority for the voice" />
          </attributes>
        </property>
        <property Name="m_nLoopCount" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnLoopCountOrRandomizationChanged" />
            <attribute Name="DISPLAYNAME" Value="Loop count" />
            <attribute Name="HELPTEXT" Value="Loop count (-1 = infinite)" />
          </attributes>
        </property>
        <property Name="m_nLoopRandomization" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnLoopCountOrRandomizationChanged" />
            <attribute Name="DISPLAYNAME" Value="Loop randomization" />
            <attribute Name="HELPTEXT" Value="Loop randomization. A random value between 0 and the set value is added to the loop count. If loop count is -1, this property is ignored. Also values below 0 will be ignored." />
          </attributes>
        </property>
        <property Name="m_fRandomStartOffset" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Random start offset" />
            <attribute Name="HELPTEXT" Value="Upper bound of randomized start offset (seconds)" />
          </attributes>
        </property>
        <property Name="m_ePlayParameters" Type="ESoundPlayParameters">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Play parameters" />
          </attributes>
        </property>
        <property Name="m_nNoRepeatCount" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="No repeat count" />
            <attribute Name="HELPTEXT" Value="When playing random subsounds, don't choose any from the last n played." />
          </attributes>
        </property>
        <property Name="m_fDelayDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Delay duration" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(100) Step(0.1)" />
            <attribute Name="HELPTEXT" Value="Delay duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_pEffect" Type="TEntityRef&lt; ISoundEffect &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_5_References" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Effect" />
            <attribute Name="HELPTEXT" Value="Effect" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="int32" name="PlayChannel" helptext="Plays a specific channel in the sound" />
        <pin type="SSoundTriggerPoint" name="PlayChannelAtPoint" helptext="Plays a specific channel at a given point" />
        <pin type="SVector3" name="PlayAtPoint" helptext="Plays a specific channel at a given point" />
      </inputpins>
      <outputpins>
        <pin type="void" name="Started" helptext="Fired when the sound starts playing." />
        <pin type="void" name="Stopped" helptext="Fired when the sound stops playing." />
      </outputpins>
    </class>
    <class name="ZSoundEntityProxy" fullPropertyList="{}" entity="Runtime.Sound.SoundEntityProxy">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundPlayable" />
        <baseclass type="ISoundModifiable" />
        <baseclass type="ISoundEffectAttachable" />
      </baseclasses>
      <properties>
        <property Name="m_sName" Type="ZString">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Name" />
            <attribute Name="HELPTEXT" Value="Name" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="int32" name="PlayChannel" helptext="Plays a specific channel in the sound" />
        <pin type="SSoundTriggerPoint" name="PlayChannelAtPoint" helptext="Plays a specific channel at a given point" />
        <pin type="SVector3" name="PlayAtPoint" helptext="Plays a specific channel at a given point" />
        <pin type="void" name="Play" helptext="Plays the sound" />
        <pin type="void" name="Pause" helptext="Pauses/unpauses the sound" />
        <pin type="void" name="Stop" helptext="Stops the sound" />
        <pin type="float32" name="SetAttenuationGain" helptext="Sets the attenuation gain of the sound relative to the original attenuation (in dBs)" />
        <pin type="float32" name="SetPitchShift" helptext="Sets the pitch of the sound (in 100ths of a semitone)" />
      </inputpins>
    </class>
    <class name="ZSoundFlyByTrigger" fullPropertyList="{}" entity="Runtime.Sound.SoundFlyByTrigger">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_bUseListenerPos" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use listener pos" />
            <attribute Name="HELPTEXT" Value="Use listener position. If not set, uses position of spatial aspect." />
          </attributes>
        </property>
        <property Name="m_fSpeed" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="20.0" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Speed" />
            <attribute Name="HELPTEXT" Value="Flyby speed in m/s." />
          </attributes>
        </property>
        <property Name="m_fProbability" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100.0" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Probability" />
            <attribute Name="HELPTEXT" Value="Probability of triggering a fly-by sound." />
          </attributes>
        </property>
        <property Name="m_fHitRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.2" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Hit radius" />
            <attribute Name="HELPTEXT" Value="Radius of tube inside which no flyby sound will be triggered, because projectile has hit." />
          </attributes>
        </property>
        <property Name="m_fFlyByRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="2.0" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fly-by radius" />
            <attribute Name="HELPTEXT" Value="Radius of tube inside which projectiles will cause fly-by sounds." />
          </attributes>
        </property>
        <property Name="m_fDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5.0" />
            <attribute Name="CATEGORY" Value="Sound_9_FlyBy" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Distance" />
            <attribute Name="HELPTEXT" Value="Distance the projectile travels before it reaches middle of the ray between the two crossings with the tube." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundGroupEntity" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundGroup)}" entity="Sound.SoundGroup">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundGroup" />
      </baseclasses>
      <properties>
        <property Name="m_sGroupName" Type="ZString">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Group name" />
          </attributes>
        </property>
        <property Name="m_nMaxAudible" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="-1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="CONSTRAINT" Value="MinValue(-1) MaxValue(128)" />
            <attribute Name="DISPLAYNAME" Value="Max Audible" />
            <attribute Name="HELPTEXT" Value="The number of concurrent playbacks of voices in a sound group." />
          </attributes>
        </property>
        <property Name="m_nVoiceHeadroom" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="2" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="CONSTRAINT" Value="MinValue(0) MaxValue(128)" />
            <attribute Name="DISPLAYNAME" Value="Voice Headroom" />
            <attribute Name="HELPTEXT" Value="The number of voices the group can hold on top of the Max Audible when the SOUND_FADELOWEST or SOUND_FADEMOSTDISTANT mode is active." />
          </attributes>
        </property>
        <property Name="m_fMinTriggerInterval" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Min Trigger Interval" />
            <attribute Name="HELPTEXT" Value="The minimal amount of time that must pass between two sounds (measured from start time of each sound)." />
          </attributes>
        </property>
        <property Name="m_fFadeTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade time" />
            <attribute Name="HELPTEXT" Value="Fade time used when the SOUND_FADELOWEST or SOUND_FADEMOSTDISTANT mode is active." />
          </attributes>
        </property>
        <property Name="m_eMaxAudibleBehavior" Type="ESOUND_MAXAUDIBLEBEHAVIOR">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max Audible Behavior" />
            <attribute Name="HELPTEXT" Value="Specifies the behavior when more sounds are played than are specified with Max Audible. SOUND_FAIL: Always rejects new targets when GROUP is full. SOUND_STEALLOWEST: Steals lowest stops lowest audible target to make room for the new target. SOUND_STEALLEASTIMPORTANT: Steals least imporant (in terms of priority) target to make room for the new target. SOUND_STEALOLDEST: Steals oldest stops lowest audible target to make room for the new target. SOUND_STEALMOSTDISTANT: Steals most distant stops most distant target to make room for the new target. SOUND_FADELOWEST: When number of sounds exceeds MaxAudible, mute the lowest sounds (using distance as secondary sorting criterion). SOUND_FADEMOSTDISTANT: When number of sounds exceeds MaxAudible, mute the most distant sounds (using audibility as secondary sorting criterion)." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundGroupProxy" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundGroupProxy)}" entity="Sound.SoundGroupProxy">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundGroup" />
      </baseclasses>
      <properties>
        <property Name="m_sGroupName" Type="ZString">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Group name" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundLooper" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundLooper)}" entity="Sound.SoundLooper">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="IMusicUpdateable" />
      </baseclasses>
      <properties>
        <property Name="m_fInitialDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Initial delay" />
            <attribute Name="HELPTEXT" Value="Initial time from starting the sound until the sound can be heard" />
          </attributes>
        </property>
        <property Name="m_fTriggerInterval" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.2" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Trigger interval" />
            <attribute Name="HELPTEXT" Value="Time between starting the start points of two sounds" />
          </attributes>
        </property>
        <property Name="m_fRandomTriggerInterval" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Random trigger interval" />
            <attribute Name="HELPTEXT" Value="Random time between starting the start points of two sounds. This value is added to the trigger interval parameter." />
          </attributes>
        </property>
        <property Name="m_fEventHorizon" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Event horizon" />
            <attribute Name="HELPTEXT" Value="Interval in which sounds will be started" />
          </attributes>
        </property>
        <property Name="m_fLifeTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Life time" />
            <attribute Name="HELPTEXT" Value="Channels will be stopped after this time. This way the number of active channels can be limited." />
          </attributes>
        </property>
        <property Name="m_fInitialDelayMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Initial delay multiplier" />
            <attribute Name="HELPTEXT" Value="Initial delay multiplier. If equal to zero or smaller, the game time will be used." />
          </attributes>
        </property>
        <property Name="m_fTriggerTimeMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Trigger time multiplier" />
            <attribute Name="HELPTEXT" Value="Trigger time multiplier. If equal to zero or smaller, the game time will be used." />
          </attributes>
        </property>
        <property Name="m_fLifeTimeMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Life time multiplier" />
            <attribute Name="HELPTEXT" Value="Life time multiplier. If equal to zero or smaller, the game time will be used." />
          </attributes>
        </property>
        <property Name="m_Emitter" Type="TEntityRef&lt; ISoundPlayable &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Emitter" />
          </attributes>
        </property>
        <property Name="m_pWavebankPlayer" Type="TEntityRef&lt; ZSoundWavebankPlayer &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Wavebank player" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Start" helptext="Starts looper" />
        <pin type="void" name="Stop" helptext="Stops looper" />
        <pin type="float32" name="TriggerInterval" helptext="Trigger interval" />
        <pin type="float32" name="RandomTriggerInterval" helptext="Random trigger interval" />
        <pin type="float32" name="InitialDelayMultiplier" helptext="Initial delay multiplier" />
        <pin type="float32" name="TriggerTimeMultiplier" helptext="Trigger time multiplier" />
        <pin type="float32" name="LifeTimeMultiplier" helptext="Life time multiplier" />
      </inputpins>
    </class>
    <class name="ZSoundMasterChannelGroup" fullPropertyList="{(DISPLAYNAME)=(Sound.MasterChannelGroup)}" entity="Sound.MasterChannelGroup">
      <baseclasses>
        <baseclass type="ZSoundChannelGroupBase" />
      </baseclasses>
      <properties>
        <property Name="m_fDopplerScale" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Doppler scale" />
            <attribute Name="CHANGEHANDLER" Value="On3DSettingsChanged" />
            <attribute Name="HELPTEXT" Value="Scaling factor for doppler shift. Default = 1.0." />
          </attributes>
        </property>
        <property Name="m_fDistanceFactor" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Distance factor" />
            <attribute Name="CHANGEHANDLER" Value="On3DSettingsChanged" />
            <attribute Name="HELPTEXT" Value="Relative distance factor to FMOD's units. Default = 1.0. (1.0 = 1 metre)." />
          </attributes>
        </property>
        <property Name="m_fRollOffScale" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Roll-off scale" />
            <attribute Name="CHANGEHANDLER" Value="On3DSettingsChanged" />
            <attribute Name="HELPTEXT" Value="Scaling factor for 3D sound rolloff or attenuation for FMOD_3D_LOGROLLOFF based sounds only (which is the default type). Default = 1.0." />
          </attributes>
        </property>
        <property Name="m_fVirtualThreshold" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Virtual threshold" />
            <attribute Name="CHANGEHANDLER" Value="OnVirtualThresholdChanged" />
            <attribute Name="HELPTEXT" Value="Threshold (in dB) at which a voice switches from being real to virtual." />
          </attributes>
        </property>
        <property Name="m_fFocusLowpassInnerAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="60.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Focus lowpass inner angle" />
            <attribute Name="CHANGEHANDLER" Value="OnFocusLowpassInnerAngleChanged" />
            <attribute Name="HELPTEXT" Value="Focus lowpass inner angle" />
          </attributes>
        </property>
        <property Name="m_fFocusLowpassOuterAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="150.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Focus lowpass outer angle" />
            <attribute Name="CHANGEHANDLER" Value="OnFocusLowpassOuterAngleChanged" />
            <attribute Name="HELPTEXT" Value="Focus lowpass outer angle" />
          </attributes>
        </property>
        <property Name="m_fFocusLowpassInnerCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Focus lowpass inner cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnFocusLowpassInnerCutoffChanged" />
            <attribute Name="HELPTEXT" Value="Focus lowpass inner cutoff frequency" />
          </attributes>
        </property>
        <property Name="m_fFocusLowpassOuterCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="2000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Focus lowpass outer cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnFocusLowpassOuterCutoffChanged" />
            <attribute Name="HELPTEXT" Value="Focus lowpass outer cutoff frequency" />
          </attributes>
        </property>
        <property Name="m_fRaycastOcclusionSmoothing" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.8" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Raycast occlusion smoothing constant" />
            <attribute Name="CHANGEHANDLER" Value="OnRaycastOcclusionSmoothingChanged" />
            <attribute Name="HELPTEXT" Value="Raycast occlusion smoothing time in seconds." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetFocusLowpassInnerAngle" helptext="Focus lowpass inner angle" />
        <pin type="float32" name="SetFocusLowpassOuterAngle" helptext="Focus lowpass outer angle" />
        <pin type="float32" name="SetFocusLowpassInnerCutoff" helptext="Focus lowpass inner cutoff frequency" />
        <pin type="float32" name="SetFocusLowpassOuterCutoff" helptext="Focus lowpass outer cutoff frequency" />
        <pin type="float32" name="SetRaycastOcclusionSmoothing" helptext="Raycast occlusion smoothing constant" />
      </inputpins>
    </class>
    <class name="ZSoundMultiLayerMixer" fullPropertyList="{}" entity="Runtime.Sound.SoundMultiLayerMixer">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_pSpatialEntity" Type="TEntityRef&lt; ZSpatialEntity &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Spatial entity" />
            <attribute Name="HELPTEXT" Value="If connected, spatial entity will control position" />
          </attributes>
        </property>
        <property Name="m_fMinDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="10.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Min distance" />
            <attribute Name="HELPTEXT" Value="Minimum distance within which sound will not be attenuated" />
          </attributes>
        </property>
        <property Name="m_fMaxDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="40.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max distance" />
            <attribute Name="HELPTEXT" Value="Maximum distance within which sound will not be attenuated" />
          </attributes>
        </property>
        <property Name="m_fSpatialAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Spatial attenuation" />
            <attribute Name="HELPTEXT" Value="Spatial attenuation" />
          </attributes>
        </property>
        <property Name="m_fSpatialFalloffAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-70.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Spatial falloff attenuation" />
            <attribute Name="HELPTEXT" Value="Spatial attenuation" />
          </attributes>
        </property>
        <property Name="m_fDirectionalAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-12.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Directional attenuation" />
            <attribute Name="HELPTEXT" Value="Directional attenuation" />
          </attributes>
        </property>
        <property Name="m_fAttenuationL" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation left" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to left speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationR" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation right" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to right speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationC" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation center" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to center speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationLFE" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation LFE" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to LFE speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationBackL" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation back left" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to back left speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationBackR" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation back right" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to back right speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationSideL" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation side left" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to side left speaker" />
          </attributes>
        </property>
        <property Name="m_fAttenuationSideR" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation side right" />
            <attribute Name="HELPTEXT" Value="Attenuation for mixing to side right speaker" />
          </attributes>
        </property>
        <property Name="m_bRaycastOcclusion" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Raycast occlusion" />
            <attribute Name="HELPTEXT" Value="Enables occlusion testing via raycasting." />
          </attributes>
        </property>
        <property Name="m_fOcclusionAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-12.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion attenuation" />
            <attribute Name="HELPTEXT" Value="Occlusion attenuation in dB." />
          </attributes>
        </property>
        <property Name="m_fOcclusionRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="NAME" Value="m_fOcclusionRadius" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion max radius" />
            <attribute Name="HELPTEXT" Value="Occlusion max radius. If previous occlusion test failed, the system will search for nearby unoccluded points and use this to point-sample the amount of occlusion." />
          </attributes>
        </property>
        <property Name="m_fOcclusionMinRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion min radius" />
            <attribute Name="HELPTEXT" Value="Occlusion min radius. As long as the occlusion tests succeed, the system will search for the next occlusion at a random point inside a sphere of this radius." />
          </attributes>
        </property>
        <property Name="m_fOcclusionMaxDistOverride" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion max dist override" />
            <attribute Name="HELPTEXT" Value="Occlusion max distance override. The default occlusion distance is specified in a runtime parameter. In order to change this for specific very distant sounds such as helicopters, set this value larger than 0." />
          </attributes>
        </property>
        <property Name="m_fOcclusionSmoothingOverride" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion smoothing override" />
            <attribute Name="HELPTEXT" Value="Local override of the global occlusion smoothing time that is set by the MasterChannelGroup entity. Only used if &gt; 0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetSpatialAttenuation" helptext="Sets spatial attenuation" />
        <pin type="float32" name="SetSpatialFalloffAttenuation" helptext="Sets spatial falloff attenuation" />
        <pin type="float32" name="SetDirectionalAttenuation" helptext="Sets directional attenuation" />
        <pin type="float32" name="SetOcclusionAttenuation" helptext="Sets occlusion attenuation" />
        <pin type="SVector3" name="SetPosition" helptext="Sets position" />
      </inputpins>
    </class>
    <class name="ZSoundMultiLayerControl" fullPropertyList="{}" entity="Runtime.Sound.SoundMultiLayerControl">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_nLFEChannel" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="3" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LFE channel index" />
            <attribute Name="HELPTEXT" Value="Index of LFE channel" />
          </attributes>
        </property>
        <property Name="m_aChannel0" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 0" />
            <attribute Name="HELPTEXT" Value="If connected, channel 0 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel1" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 1" />
            <attribute Name="HELPTEXT" Value="If connected, channel 1 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel2" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 2" />
            <attribute Name="HELPTEXT" Value="If connected, channel 2 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel3" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 3" />
            <attribute Name="HELPTEXT" Value="If connected, channel 3 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel4" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 4" />
            <attribute Name="HELPTEXT" Value="If connected, channel 4 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel5" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 5" />
            <attribute Name="HELPTEXT" Value="If connected, channel 5 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel6" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 6" />
            <attribute Name="HELPTEXT" Value="If connected, channel 6 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_aChannel7" Type="TArray&lt; TEntityRef&lt;ZSoundMultiLayerMixer &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel 7" />
            <attribute Name="HELPTEXT" Value="If connected, channel 7 will follow the position of this spatial entity" />
          </attributes>
        </property>
        <property Name="m_fReverbLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_MultiLayer" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbLevelChanged" />
            <attribute Name="DISPLAYNAME" Value="Reverb level" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB" />
          </attributes>
        </property>
        <property Name="m_bAlignListener" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Align listener" />
            <attribute Name="HELPTEXT" Value="Aligns listener orientation to ground plane. This prevents changes in directional attenuation when looking up or down." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetChannelAttenuation0" helptext="Sets attenuation of channel 0" />
        <pin type="float32" name="SetChannelAttenuation1" helptext="Sets attenuation of channel 1" />
        <pin type="float32" name="SetChannelAttenuation2" helptext="Sets attenuation of channel 2" />
        <pin type="float32" name="SetChannelAttenuation3" helptext="Sets attenuation of channel 3" />
        <pin type="float32" name="SetChannelAttenuation4" helptext="Sets attenuation of channel 4" />
        <pin type="float32" name="SetChannelAttenuation5" helptext="Sets attenuation of channel 5" />
        <pin type="float32" name="SetChannelAttenuation6" helptext="Sets attenuation of channel 6" />
        <pin type="float32" name="SetChannelAttenuation7" helptext="Sets attenuation of channel 7" />
        <pin type="float32" name="SetReverbLevel" helptext="Sets the reverb level of the sound" />
      </inputpins>
    </class>
    <class name="ZSoundOcclusionPlane" fullPropertyList="{(DISPLAYNAME)=(Sound.OcclusionPlane)}" entity="Sound.OcclusionPlane">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
      </baseclasses>
      <properties>
        <property Name="m_bActive" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Active" />
            <attribute Name="CHANGEHANDLER" Value="OnActiveChanged" />
            <attribute Name="HELPTEXT" Value="Toggles occlusion on / off" />
          </attributes>
        </property>
        <property Name="m_fDirectOcclusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Direct occlusion" />
            <attribute Name="CHANGEHANDLER" Value="OnOcclusionFactorsChanged" />
            <attribute Name="HELPTEXT" Value="Direct occlusion coefficient" />
          </attributes>
        </property>
        <property Name="m_fReverbOcclusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb occlusion" />
            <attribute Name="CHANGEHANDLER" Value="OnOcclusionFactorsChanged" />
            <attribute Name="HELPTEXT" Value="Reverb occlusion coefficient" />
          </attributes>
        </property>
        <property Name="m_vLocalSize" Type="SVector2">
          <attributes>
            <attribute Name="INIT" Value="1, 1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnLocalSizeChanged" />
            <attribute Name="DISPLAYNAME" Value="Plane size" />
            <attribute Name="HELPTEXT" Value="Size of plane" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetDirectOcclusion" helptext="Sets the direct occlusion coefficient (0-1)" />
        <pin type="float32" name="SetReverbOcclusion" helptext="Sets the reverb occlusion coefficient (0-1)" />
      </inputpins>
    </class>
    <class name="ZSoundPersistentPlayer" fullPropertyList="{(+BELONGS_TO_SUBSET)=(Streamable,IEntity)}" entity="Runtime.Sound.SoundPersistentPlayer">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_WaveBankResourceID" Type="TResourcePtr&lt; ZWaveBankData &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="STREAMABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="NAME" Value="m_WaveBankResourceID" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="WaveBank" />
            <attribute Name="CONSTRAINT" Value="ResourceType(wavebank,wavebank;localized-wavebank,localized-wavebank)" />
          </attributes>
        </property>
        <property Name="m_nChannel" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel" />
            <attribute Name="HELPTEXT" Value="The channel index in the wavebank to play" />
          </attributes>
        </property>
        <property Name="m_bIsMusic" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Is music" />
            <attribute Name="HELPTEXT" Value="If true, the sound will be played through the music channel group. In this case, if background-music is playing, the sound will not be audible." />
          </attributes>
        </property>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation (dB)" />
            <attribute Name="HELPTEXT" Value="Volume attenuation (dB)" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Play" helptext="Plays the sound" />
        <pin type="int32" name="PlayChannel" helptext="Plays a specific channel in the sound" />
      </inputpins>
    </class>
    <class name="ZSoundPlayableBase" fullPropertyList="{(ABSTRACT)=(True)}">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation (dB)" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="HELPTEXT" Value="Volume attenuation (dB)" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Pitch" />
            <attribute Name="CONSTRAINT" Value="MinValue(-3600.0) MaxValue(1200.0) Step(10.0) DecimalPlaces(0)" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="HELPTEXT" Value="Pitch in 100th of semitones" />
          </attributes>
        </property>
        <property Name="m_fAttenuationRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation randomizer (dBs)" />
            <attribute Name="HELPTEXT" Value="Attenuation will deviate down between 0 and this amount, make sure the value is negative!" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(40)" />
          </attributes>
        </property>
        <property Name="m_fPitchRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Pitch randomizer (cents)" />
            <attribute Name="HELPTEXT" Value="Pitch will deviate up or down by this amount cents (100ths of semitones)" />
          </attributes>
        </property>
        <property Name="m_fFadeInDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade in duration" />
            <attribute Name="HELPTEXT" Value="Fade in duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fFadeOutDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade out duration" />
            <attribute Name="HELPTEXT" Value="Fade out duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fMinLowpassCutoffFrequency" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass minimum cutoff frequency" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(22000)" />
            <attribute Name="HELPTEXT" Value="Minimal lowpass cutoff frequency" />
          </attributes>
        </property>
        <property Name="m_fMaxLowpassCutoffFrequency" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass maximum cutoff frequency" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(22000)" />
            <attribute Name="HELPTEXT" Value="Maximal lowpass cutoff frequency" />
          </attributes>
        </property>
        <property Name="m_bPlayOnGameStart" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Play On Game Start" />
            <attribute Name="HELPTEXT" Value="If true, the entity will trigger a play when the game starts" />
          </attributes>
        </property>
        <property Name="m_bActivated" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Activated" />
            <attribute Name="CHANGEHANDLER" Value="True" />
          </attributes>
        </property>
        <property Name="m_bRealtimeFade" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Real-time fade" />
            <attribute Name="HELPTEXT" Value="If true, fade in/out will use real-time instead iof the default game-time." />
          </attributes>
        </property>
        <property Name="m_pSoundGroup" Type="TEntityRef&lt; ISoundGroup &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_5_References" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Sound Group" />
          </attributes>
        </property>
        <property Name="m_eSoundGlobalReverb" Type="ESoundGlobalReverb">
          <attributes>
            <attribute Name="INIT" Value="eSoundGlobalReverb_Ambience0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb target" />
            <attribute Name="HELPTEXT" Value="Controls which reverbs receive this sound." />
          </attributes>
        </property>
        <property Name="m_fGlobalReverb1Attenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Global reverb 1 attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) DecimalPlaces(1) Step(0.5)" />
            <attribute Name="HELPTEXT" Value="Sets the fixed level at which sound will be sent into global reverb 1." />
          </attributes>
        </property>
        <property Name="m_eChannelGroupMapping" Type="ESoundChannelGroup">
          <attributes>
            <attribute Name="INIT" Value="SND_Default" />
            <attribute Name="CATEGORY" Value="Sound_5_References" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnChannelGroupChanged" />
            <attribute Name="DISPLAYNAME" Value="Channel group mapping" />
          </attributes>
        </property>
        <property Name="m_pChannelGroup" Type="TEntityRef&lt; ISoundChannelGroup &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_5_References" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnChannelGroupChanged" />
            <attribute Name="DISPLAYNAME" Value="Channel group" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Play" helptext="Plays the sound" />
        <pin type="void" name="Pause" helptext="Pauses/unpauses the sound" />
        <pin type="void" name="Stop" helptext="Stops the sound" />
        <pin type="float32" name="SetAttenuationGain" helptext="Sets the attenuation gain of the sound relative to the original attenuation (in dBs)" />
        <pin type="float32" name="SetPitchShift" helptext="Sets the pitch of the sound (in 100ths of a semitone)" />
      </inputpins>
    </class>
    <class name="ZSoundSpatialParameter" fullPropertyList="{}" entity="Runtime.Sound.SoundSpatialParameter">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
        <baseclass type="ISoundListenerPositionReceiver" />
      </baseclasses>
      <properties>
        <property Name="m_fMinDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.5" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMinDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Min distance" />
          </attributes>
        </property>
        <property Name="m_fMaxDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="10000.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMaxDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Max distance" />
          </attributes>
        </property>
        <property Name="m_e3dRolloffType" Type="ESOUND_3DROLLOFF_TYPE">
          <attributes>
            <attribute Name="INIT" Value="SOUND_3D_LOGARITHMIC_ROLLOFF" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="3D Rolloff Type" />
          </attributes>
        </property>
        <property Name="m_fInsideConeAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="360" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="On3DConeSettingsChanged" />
            <attribute Name="DISPLAYNAME" Value="Inside cone angle" />
          </attributes>
        </property>
        <property Name="m_fOutsideConeAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="360" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="On3DConeSettingsChanged" />
            <attribute Name="DISPLAYNAME" Value="Outside cone angle" />
          </attributes>
        </property>
        <property Name="m_fOutsideAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="On3DConeSettingsChanged" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="DISPLAYNAME" Value="Outside attenuation (dB)" />
            <attribute Name="HELPTEXT" Value="Volume attenuation (dB) outside the cone" />
          </attributes>
        </property>
        <property Name="m_fDopplerLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.3" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Doppler level" />
            <attribute Name="HELPTEXT" Value="0 = No doppler. 1 = Normal doppler. 5 = max." />
          </attributes>
        </property>
        <property Name="m_RolloffCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01||0|10|||||L|C0|2|0,1.0;C2;L;2;-0.1,1.0;0.1,1.0|10,0.0;C2;L;2;9,0;11,0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Custom rolloff curve" />
          </attributes>
        </property>
        <property Name="m_f3DWeight" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="3D Weight" />
            <attribute Name="CHANGEHANDLER" Value="On3DWeightChanged" />
            <attribute Name="HELPTEXT" Value="The value (between 0 and 1) that determines the 3D-ishness of the sound. 1 means fully 3d, 0 means fully 2D." />
          </attributes>
        </property>
        <property Name="m_vRandomLocationInner" Type="SVector3">
          <attributes>
            <attribute Name="INIT" Value="0, 0, 0" />
            <attribute Name="CATEGORY" Value="Sound_6_Spatial" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnRandomLocationChanged" />
            <attribute Name="DISPLAYNAME" Value="RandomLocationMin" />
            <attribute Name="HELPTEXT" Value="Inner exclusion zone" />
          </attributes>
        </property>
        <property Name="m_vRandomLocationOuter" Type="SVector3">
          <attributes>
            <attribute Name="INIT" Value="0, 0, 0" />
            <attribute Name="CATEGORY" Value="Sound_6_Spatial" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnRandomLocationChanged" />
            <attribute Name="DISPLAYNAME" Value="RandomLocationMax" />
            <attribute Name="HELPTEXT" Value="Outer location limit" />
          </attributes>
        </property>
        <property Name="m_fReverbLevelNear" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-20.0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbLevelNearChanged" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-100) MaxValue(10)" />
            <attribute Name="DISPLAYNAME" Value="Reverb level near" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB when near sound source" />
          </attributes>
        </property>
        <property Name="m_fReverbLevelFar" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbLevelFarChanged" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-100) MaxValue(10)" />
            <attribute Name="DISPLAYNAME" Value="Reverb level far" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB when far away from sound source (distance &gt;= m_fReverbRadius)" />
          </attributes>
        </property>
        <property Name="m_fReverbRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="10.0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbRadiusChanged" />
            <attribute Name="DISPLAYNAME" Value="Reverb radius" />
            <attribute Name="HELPTEXT" Value="Reverb radius in meters. The minimum distance at which the reverb is loudest. If &lt;= 0 automatic reverb level control will be disabled for this sound." />
          </attributes>
        </property>
        <property Name="m_bRaycastOcclusion" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnRaycastOcclusionChanged" />
            <attribute Name="DISPLAYNAME" Value="Raycast occlusion" />
            <attribute Name="HELPTEXT" Value="Enables occlusion testing via raycasting." />
          </attributes>
        </property>
        <property Name="m_fGeometryOcclusionFactor" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(1.0)" />
            <attribute Name="DISPLAYNAME" Value="Geometry Occlusion Factor" />
            <attribute Name="HELPTEXT" Value="Factor used to calculate final geometry occlusion (by occlusion planes) 0.0: Never Affected by Geometry, 1.0: Always affected by Geometry" />
          </attributes>
        </property>
        <property Name="m_bEnableFocusLowpass" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Enable focus lowpass" />
            <attribute Name="HELPTEXT" Value="If true, the focus lowpass filter will be active for channels spawned by this entity." />
          </attributes>
        </property>
        <property Name="m_fOcclusionAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion attenuation" />
            <attribute Name="HELPTEXT" Value="Occlusion attenuation in dB." />
          </attributes>
        </property>
        <property Name="m_fOcclusionRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="NAME" Value="m_fOcclusionRadius" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion max radius" />
            <attribute Name="HELPTEXT" Value="Occlusion max radius. If previous occlusion test failed, the system will search for nearby unoccluded points and use this to point-sample the amount of occlusion." />
          </attributes>
        </property>
        <property Name="m_fOcclusionMinRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion min radius" />
            <attribute Name="HELPTEXT" Value="Occlusion min radius. As long as the occlusion tests succeed, the system will search for the next occlusion at a random point inside a sphere of this radius." />
          </attributes>
        </property>
        <property Name="m_fOcclusionMaxDistOverride" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion max dist override" />
            <attribute Name="HELPTEXT" Value="Occlusion max distance override. The default occlusion distance is specified in a runtime parameter. In order to change this for specific very distant sounds such as helicopters, set this value larger than 0." />
          </attributes>
        </property>
        <property Name="m_fOcclusionReverbAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion reverb attenuation" />
            <attribute Name="HELPTEXT" Value="Occlusion reverb attenuation in dB." />
          </attributes>
        </property>
        <property Name="m_fOcclusionLowpassHigh" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(22000)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion lowpass cutoff high" />
            <attribute Name="HELPTEXT" Value="Occlusion lowpass cutoff frequency in Hz for unoccluded path." />
          </attributes>
        </property>
        <property Name="m_fOcclusionLowpassLow" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1000.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(22000)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion lowpass cutoff low" />
            <attribute Name="HELPTEXT" Value="Occlusion lowpass cutoff frequency in Hz for occluded path." />
          </attributes>
        </property>
        <property Name="m_fLowpassMaxDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="40.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass filter max distance" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(10000)" />
            <attribute Name="HELPTEXT" Value="Lowpass filter max distance." />
          </attributes>
        </property>
        <property Name="m_fLowpassMaxDistanceCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="3000.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass filter max distance cutoff frequency" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(22000)" />
            <attribute Name="HELPTEXT" Value="Lowpass filter max distance frequency." />
          </attributes>
        </property>
        <property Name="m_fLFEAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LFE Attenuation" />
            <attribute Name="HELPTEXT" Value="LFE Attenuation (dB)" />
          </attributes>
        </property>
        <property Name="m_fOcclusionSmoothingOverride" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_7_Occlusion" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion smoothing override" />
            <attribute Name="HELPTEXT" Value="Local override of the global occlusion smoothing time that is set by the MasterChannelGroup entity. Only used if &gt; 0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Set3DWeight" helptext="Sets the weight between 2D and 3D'ishness of the sound" />
        <pin type="float32" name="SetOcclusionLowpassHigh" helptext="Sets the high value of the lowpass cutoff range used for occlusion" />
        <pin type="float32" name="SetOcclusionLowpassLow" helptext="Sets the low value of the lowpass cutoff range used for occlusion" />
        <pin type="float32" name="SetMinDistance" helptext="Sets the min distance of the sound" />
        <pin type="bool" name="SetEnableFocusLowpass" helptext="Set the value of Enable Focus Lowpass" />
        <pin type="void" name="FreezePosition" helptext="Freezes position of all playing channels" />
      </inputpins>
    </class>
    <class name="ZSoundSpeakerLevelParameter" fullPropertyList="{}" entity="Runtime.Sound.SoundSpeakerLevelParameter">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_bMatrixModified" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="RTEDITABLE" Value="True" />
          </attributes>
        </property>
        <property Name="m_SpeakerLevels" Type="ZSpeakerLevels">
          <attributes>
            <attribute Name="INIT" Value="1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;1" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DISPLAYNAME" Value="Speaker levels" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
          </attributes>
        </property>
        <property Name="m_fReverbLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-120.0" />
            <attribute Name="CATEGORY" Value="Sound_4_Reverb" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbLevelChanged" />
            <attribute Name="DISPLAYNAME" Value="Reverb level" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB" />
          </attributes>
        </property>
        <property Name="m_bEnablePan" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Enable pan" />
            <attribute Name="HELPTEXT" Value="Enables panning control. This overrides the speaker level matrix." />
          </attributes>
        </property>
        <property Name="m_fPanAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Pan angle" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-360) MaxValue(360)" />
            <attribute Name="HELPTEXT" Value="Pan angle from -360 to 360 degrees" />
          </attributes>
        </property>
        <property Name="m_fPanAngleRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="360.0" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Pan angle randomization" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-360) MaxValue(360)" />
            <attribute Name="HELPTEXT" Value="Pan angle randomization from -360 to 360 degrees" />
          </attributes>
        </property>
        <property Name="m_fPanSpread" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="360.0" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Pan spread" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-360) MaxValue(360)" />
            <attribute Name="HELPTEXT" Value="Pan spread from -360 to 360 degrees (a negative value can be used to reverse the stereo image)" />
          </attributes>
        </property>
        <property Name="m_fPanSpreadRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Pan spread randomization" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-360) MaxValue(360)" />
            <attribute Name="HELPTEXT" Value="Pan spread randomization from -360 to 360 degrees (a negative value can be used to reverse the stereo image)" />
          </attributes>
        </property>
        <property Name="m_fPanLFELevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_6_Panning" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnSpeakerLevelsChanged" />
            <attribute Name="DISPLAYNAME" Value="Pan LFE level" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Pan LFE level)" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetReverbLevel" helptext="Sets the reverb level of the sound" />
        <pin type="bool" name="SetEnablePan" helptext="Enables panning of sound. Overrides speaker level setup." />
        <pin type="float32" name="SetPanAngle" helptext="Sets the pan angle of the sound" />
        <pin type="float32" name="SetPanAngleRandomizer" helptext="Sets the pan angle of the sound" />
        <pin type="float32" name="SetPanSpread" helptext="Sets the pan spread of the sound" />
        <pin type="float32" name="SetPanSpreadRandomizer" helptext="Sets the pan spread randomization of the sound" />
      </inputpins>
    </class>
    <class name="ZSoundSurroundEventTrigger" fullPropertyList="{}" entity="Runtime.Sound.SoundSurroundEventTrigger">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_bUseListenerPos" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use listener pos" />
            <attribute Name="HELPTEXT" Value="Use listener position. If not set, uses position of the character." />
          </attributes>
        </property>
        <property Name="m_fMinAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Minimum angle" />
            <attribute Name="HELPTEXT" Value="Minimum angle in degrees between the view direction axis (starting behind the head) towards the horizontal perpendicular axis" />
          </attributes>
        </property>
        <property Name="m_fMaxAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100.0" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Maximum angle" />
            <attribute Name="HELPTEXT" Value="Maximum angle in degrees between the view direction axis (starting behind the head) towards the horizontal perpendicular axis" />
          </attributes>
        </property>
        <property Name="m_fMinDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Minimum distance" />
            <attribute Name="HELPTEXT" Value="Minimum distance behind head." />
          </attributes>
        </property>
        <property Name="m_fMaxDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="3.0" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Maximum distance" />
            <attribute Name="HELPTEXT" Value="Maximum distance behind head." />
          </attributes>
        </property>
        <property Name="m_pSoundEntity" Type="TEntityRef&lt; ZSoundEntity &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_9_SurroundTrigger" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Sound entity" />
            <attribute Name="HELPTEXT" Value="Sound entity playing the sound." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Play" helptext="Trigger a sound" />
      </inputpins>
    </class>
    <class name="ZValueInterpolator" fullPropertyList="{(+BELONGS_TO_SUBSET)=(Activatable_Timers,IEntity)}" entity="Runtime.Sound.ValueInterpolator">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_fEvaluationTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Time" />
            <attribute Name="HELPTEXT" Value="The time for the interpolation to go from the initial value to the end value, in seconds" />
          </attributes>
        </property>
        <property Name="m_Curve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01||0|1|||||L|C0|2|0,0.0;C2;S;2;-0.1,0.0;0.1,0.0|1,1.0;C2;S;2;0.9,1;1.1,1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Curve" />
          </attributes>
        </property>
        <property Name="m_fEndValue" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="DISPLAYNAME" Value="EndValue" />
            <attribute Name="RTEDITABLE" Value="True" />
          </attributes>
        </property>
        <property Name="m_bUseRealTime" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use real time" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="StartFrom" helptext="Start the interpolation with a specified initial value" />
        <pin type="float32" name="SetEndValue" helptext="Sets the EndValue property" />
        <pin type="float32" name="SetTime" helptext="Sets the evaluation time property" />
        <pin type="void" name="Stop" helptext="Stops the evaluation" />
      </inputpins>
      <outputpins>
        <pin type="void" name="Stopped" helptext="Fired when the interpolation is over" />
        <pin type="float32" name="Output" helptext="The evaluated output value" />
      </outputpins>
    </class>
    <class name="ZSoundWavebankPlayer" fullPropertyList="{(+BELONGS_TO_SUBSET)=(Streamable,IEntity)}" entity="Runtime.Sound.SoundWavebankPlayer">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_WaveBankResourceID" Type="TResourcePtr&lt; ZWaveBankData &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="STREAMABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="NAME" Value="m_WaveBankResourceID" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="WaveBank" />
            <attribute Name="CONSTRAINT" Value="ResourceType(wavebank,wavebank;localized-wavebank,localized-wavebank)" />
          </attributes>
        </property>
        <property Name="m_Emitter" Type="TEntityRef&lt; ZSoundEntity &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="CATEGORY" Value="Sound_5_References" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Emitter" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Play" helptext="Plays wavebank" />
        <pin type="int32" name="PlayChannel" helptext="Plays a specific channel in the sound" />
      </inputpins>
    </class>
    <class name="ZSoundTransitionTemp" fullPropertyList="{(DISPLAYNAME)=(Sound.Music.SoundTransitionTemp)}" entity="Sound.Music.SoundTransitionTemp">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_SourceSound" Type="TEntityRef&lt; ISoundPlayable &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Source sound" />
          </attributes>
        </property>
        <property Name="m_DestinationSound" Type="TEntityRef&lt; ISoundPlayable &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Destination sound" />
          </attributes>
        </property>
        <property Name="m_FadeOutCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|fadeout|0|1|||||L|C0|11|0,1;C0;L;0|0.1,0.94868329805051377;C0;L;0|0.2,0.89442719099991586;C0;L;0|0.3,0.83666002653407556;C0;L;0|0.4,0.7745966692414834;C0;L;0|0.5,0.70710678118654757;C0;L;0|0.6,0.63245553203367577;C0;L;0|0.7,0.54772255750516607;C0;L;0|0.8,0.44721359549995787;C0;L;0|0.9,0.31622776601683789;C0;L;0|1,0;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade out curve" />
          </attributes>
        </property>
        <property Name="m_FadeInCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|fadein|0|1|||||L|C0|11|0,0;C0;L;0|0.1,0.31622776601683794;C0;L;0|0.2,0.44721359549995793;C0;L;0|0.3,0.54772255750516619;C0;L;0|0.4,0.63245553203367588;C0;L;0|0.5,0.70710678118654757;C0;L;0|0.6,0.7745966692414834;C0;L;0|0.7,0.83666002653407556;C0;L;0|0.8,0.89442719099991586;C0;L;0|0.9,0.94868329805051377;C0;L;0|1,1;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade in curve" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="ZString" name="EventName" helptext="Event name" />
        <pin type="float32" name="Value" helptext="Value (0-1)" />
      </inputpins>
    </class>
    <class name="ZSoundEffect" fullPropertyList="{(ABSTRACT)=(True)}">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_bActive" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Active" />
            <attribute Name="CHANGEHANDLER" Value="OnActiveChanged" />
            <attribute Name="HELPTEXT" Value="Activates or deactivates effect" />
          </attributes>
        </property>
        <property Name="m_fMuteTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Mute time" />
            <attribute Name="CHANGEHANDLER" Value="OnMuteTimeChanged" />
            <attribute Name="HELPTEXT" Value="Specifies the amount of time after the last voice has finished when the effect goes into muted state." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="bool" name="Active" helptext="Activates or deactivates effect" />
      </inputpins>
    </class>
    <class name="ZSoundEffectChain" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffectChain)}" entity="Sound.SoundEffectChain">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_bActive" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Active" />
            <attribute Name="CHANGEHANDLER" Value="OnActiveChanged" />
            <attribute Name="HELPTEXT" Value="Activates or deactivates effect" />
          </attributes>
        </property>
        <property Name="m_pEffects" Type="TArray&lt; TEntityRef&lt;ISoundEffect &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Effects" />
            <attribute Name="HELPTEXT" Value="Effect chain" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="bool" name="Active" helptext="Activates or deactivates effect" />
      </inputpins>
    </class>
    <class name="ZSoundEffectDistortion" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.Distortion)}" entity="Sound.SoundEffect.Distortion">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Level" />
            <attribute Name="CHANGEHANDLER" Value="OnLevelChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Distortion value.  0.0 to 1.0.  Default = 0.5." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Level" helptext="Distortion value.  0.0 to 1.0.  Default = 0.5." />
      </inputpins>
    </class>
    <class name="ZSoundEffectEcho" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.Echo)}" entity="Sound.SoundEffect.Echo">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="500" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Delay" />
            <attribute Name="CHANGEHANDLER" Value="OnDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(5000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Echo delay in ms.  10  to 5000.  Default = 500." />
          </attributes>
        </property>
        <property Name="m_fDecay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Decay" />
            <attribute Name="CHANGEHANDLER" Value="OnDecayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Echo decay per delay.  0 to 1.  1.0 = No decay, 0.0 = total decay.  Default = 0.5." />
          </attributes>
        </property>
        <property Name="m_fMaxChannels" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max channels" />
            <attribute Name="CHANGEHANDLER" Value="OnMaxChannelsChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(16) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Maximum channels supported.  0 to 16.  0 = same as fmod's default output polyphony, 1 = mono, 2 = stereo etc.  Default = 0.  It is suggested to leave at 0!" />
          </attributes>
        </property>
        <property Name="m_fDrymix" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Drymix" />
            <attribute Name="CHANGEHANDLER" Value="OnDrymixChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="Volume of original signal to pass to output.  0.0 to 1.0. Default = 1.0." />
          </attributes>
        </property>
        <property Name="m_fWetmix" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Wetmix" />
            <attribute Name="CHANGEHANDLER" Value="OnWetmixChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="Volume of echo delay signal to pass to output.  0.0 to 1.0. Default = 1.0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Delay" helptext="Echo delay in ms.  10  to 5000.  Default = 500." />
        <pin type="float32" name="Decay" helptext="Echo decay per delay.  0 to 1.  1.0 = No decay, 0.0 = total decay.  Default = 0.5." />
        <pin type="float32" name="MaxChannels" helptext="Maximum channels supported.  0 to 16.  0 = same as fmod's default output polyphony, 1 = mono, 2 = stereo etc.  Default = 0.  It is suggested to leave at 0!" />
        <pin type="float32" name="Drymix" helptext="Volume of original signal to pass to output.  0.0 to 1.0. Default = 1.0." />
        <pin type="float32" name="Wetmix" helptext="Volume of echo delay signal to pass to output.  0.0 to 1.0. Default = 1.0." />
      </inputpins>
    </class>
    <class name="ZSoundEffectHighpass" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.Highpass)}" entity="Sound.SoundEffect.Highpass">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCutoffFreq" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Cutoff freq" />
            <attribute Name="CHANGEHANDLER" Value="OnCutoffFreqChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(10) MaxValue(22000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Highpass cutoff frequency in hz.   10.0 to 22000.0.  Default = 5000.0." />
          </attributes>
        </property>
        <property Name="m_fResonance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Resonance" />
            <attribute Name="CHANGEHANDLER" Value="OnResonanceChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(10) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Highpass resonance Q value. 1.0 to 10.0.  Default = 1.0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="CutoffFreq" helptext="Highpass cutoff frequency in hz.   10.0 to 22000.0.  Default = 5000.0." />
        <pin type="float32" name="Resonance" helptext="Highpass resonance Q value. 1.0 to 10.0.  Default = 1.0." />
      </inputpins>
    </class>
    <class name="ZSoundEffectITEcho" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.ITEcho)}" entity="Sound.SoundEffect.ITEcho">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fWetDryMix" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="50" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="WetDryMix" />
            <attribute Name="CHANGEHANDLER" Value="OnWetDryMixChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Ratio of wet (processed) signal to dry (unprocessed) signal. Must be in the range from 0.0 through 100.0 (all wet). The default value is 50." />
          </attributes>
        </property>
        <property Name="m_fFeedback" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="50" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Feedback" />
            <attribute Name="CHANGEHANDLER" Value="OnFeedbackChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Percentage of output fed back into input, in the range from 0.0 through 100.0. The default value is 50." />
          </attributes>
        </property>
        <property Name="m_fLeftDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="500" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LeftDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnLeftDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(2000) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Delay for left channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms." />
          </attributes>
        </property>
        <property Name="m_fRightDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="500" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="RightDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnRightDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(2000) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="Delay for right channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms." />
          </attributes>
        </property>
        <property Name="m_fPanDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="PanDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnPanDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="Value that specifies whether to swap left and right delays with each successive echo. The default value is zero, meaning no swap. Possible values are defined as 0.0 (equivalent to FALSE) and 1.0 (equivalent to TRUE)." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="WetDryMix" helptext="Ratio of wet (processed) signal to dry (unprocessed) signal. Must be in the range from 0.0 through 100.0 (all wet). The default value is 50." />
        <pin type="float32" name="Feedback" helptext="Percentage of output fed back into input, in the range from 0.0 through 100.0. The default value is 50." />
        <pin type="float32" name="LeftDelay" helptext="Delay for left channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms." />
        <pin type="float32" name="RightDelay" helptext="Delay for right channel, in milliseconds, in the range from 1.0 through 2000.0. The default value is 500 ms." />
        <pin type="float32" name="PanDelay" helptext="Value that specifies whether to swap left and right delays with each successive echo. The default value is zero, meaning no swap. Possible values are defined as 0.0 (equivalent to FALSE) and 1.0 (equivalent to TRUE)." />
      </inputpins>
    </class>
    <class name="ZSoundEffectLowpass" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.Lowpass)}" entity="Sound.SoundEffect.Lowpass">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCutoffFreq" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Cutoff freq" />
            <attribute Name="CHANGEHANDLER" Value="OnCutoffFreqChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(10) MaxValue(22000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Lowpass cutoff frequency in hz.   1.0 to output 22000.0.  Default = 5000.0." />
          </attributes>
        </property>
        <property Name="m_fResonance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Resonance" />
            <attribute Name="CHANGEHANDLER" Value="OnResonanceChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(10) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Lowpass resonance Q value. 1.0 to 10.0.  Default = 1.0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="CutoffFreq" helptext="Lowpass cutoff frequency in hz.   1.0 to output 22000.0.  Default = 5000.0." />
        <pin type="float32" name="Resonance" helptext="Lowpass resonance Q value. 1.0 to 10.0.  Default = 1.0." />
      </inputpins>
    </class>
    <class name="ZSoundEffectLowpassSimple" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.LowpassSimple)}" entity="Sound.SoundEffect.LowpassSimple">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCutoffFreq" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Cutoff freq" />
            <attribute Name="CHANGEHANDLER" Value="OnCutoffFreqChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(10) MaxValue(22000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Lowpass cutoff frequency in hz.  1.0 to 22000.0.  Default = 5000.0" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="CutoffFreq" helptext="Lowpass cutoff frequency in hz.  1.0 to 22000.0.  Default = 5000.0" />
      </inputpins>
    </class>
    <class name="ZSoundEffectMusicSpatializer" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.MusicSpatializer)}" entity="Sound.SoundEffect.MusicSpatializer">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fLeftDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="10" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LeftDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnLeftDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(17) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Delay between left front and back speakers" />
          </attributes>
        </property>
        <property Name="m_fRightDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="11" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="RightDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnRightDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(17) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Delay between right front and back speakers" />
          </attributes>
        </property>
        <property Name="m_fBackLowCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="3000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Back Low Cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnBackLowCutoffChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(22000) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Lowpass cutoff frequency for back speakers in Hz.  1.0 to 22000.0.  Default = 3000.0" />
          </attributes>
        </property>
        <property Name="m_fBackHighCutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="200" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Back High Cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnBackHighCutoffChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(22000) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="Highpass cutoff frequency for back speakers in Hz.  1.0 to 22000.0.  Default = 200.0" />
          </attributes>
        </property>
        <property Name="m_bInvertPhase" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="InvertPhase" />
            <attribute Name="CHANGEHANDLER" Value="OnInvertPhaseChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(2.6) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="Invert phase on back speakers" />
          </attributes>
        </property>
        <property Name="m_fFrontGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="FrontGain" />
            <attribute Name="CHANGEHANDLER" Value="OnFrontGainChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) SoundBlendAutomationIndex(5)" />
            <attribute Name="HELPTEXT" Value="Front gain in dB" />
          </attributes>
        </property>
        <property Name="m_fBackGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="BackGain" />
            <attribute Name="CHANGEHANDLER" Value="OnBackGainChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) SoundBlendAutomationIndex(6)" />
            <attribute Name="HELPTEXT" Value="Back gain in dB" />
          </attributes>
        </property>
        <property Name="m_fLFEGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-6.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LFEGain" />
            <attribute Name="CHANGEHANDLER" Value="OnLFEGainChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) SoundBlendAutomationIndex(7)" />
            <attribute Name="HELPTEXT" Value="LFE gain in dB" />
          </attributes>
        </property>
        <property Name="m_fLFECutoff" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="80" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LFE Cutoff" />
            <attribute Name="CHANGEHANDLER" Value="OnLFECutoffChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(1) MaxValue(22000) SoundBlendAutomationIndex(8)" />
            <attribute Name="HELPTEXT" Value="LFE cutoff frequency for back speakers in Hz.  1.0 to 22000.0.  Default = 80.0" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="LeftDelay" helptext="Back speaker left delay in ms" />
        <pin type="float32" name="RightDelay" helptext="Back speaker right delay in ms" />
        <pin type="float32" name="BackLowCutoff" helptext="Back speaker lowpass cutoff frequency in Hz" />
        <pin type="float32" name="BackHighCutoff" helptext="Back speaker highpass cutoff frequency in Hz" />
        <pin type="bool" name="InvertPhase" helptext="Invert back speaker phase" />
        <pin type="float32" name="FrontGain" helptext="Front speaker gain in dB" />
        <pin type="float32" name="BackGain" helptext="Back speaker gain in dB" />
        <pin type="float32" name="LFEGain" helptext="LFE speaker gain in dB" />
        <pin type="float32" name="LFECutoff" helptext="LFE cutoff frequency in Hz" />
      </inputpins>
    </class>
    <class name="ZSoundEffectNormalize" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.Normalize)}" entity="Sound.SoundEffect.Normalize">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fFadeInTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade in time" />
            <attribute Name="CHANGEHANDLER" Value="OnFadeInTimeChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(20000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Time to ramp the silence to full in ms.  0.0 to 20000.0. Default = 5000.0." />
          </attributes>
        </property>
        <property Name="m_fLowestVolume" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowest volume" />
            <attribute Name="CHANGEHANDLER" Value="OnLowestVolumeChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(1) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Lower volume range threshold to ignore.  0.0 to 1.0.  Default = 0.1.  Raise higher to stop amplification of very quiet signals." />
          </attributes>
        </property>
        <property Name="m_fMaximumAmp" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="20" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Maximum amp" />
            <attribute Name="CHANGEHANDLER" Value="OnMaximumAmpChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100000) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Maximum amplification allowed.  1.0 to 100000.0.  Default = 20.0.  1.0 = no amplifaction, higher values allow more boost." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="FadeInTime" helptext="Time to ramp the silence to full in ms.  0.0 to 20000.0. Default = 5000.0." />
        <pin type="float32" name="LowestVolume" helptext="Lower volume range threshold to ignore.  0.0 to 1.0.  Default = 0.1.  Raise higher to stop amplification of very quiet signals." />
        <pin type="float32" name="MaximumAmp" helptext="Maximum amplification allowed.  1.0 to 100000.0.  Default = 20.0.  1.0 = no amplifaction, higher values allow more boost." />
      </inputpins>
    </class>
    <class name="ZSoundEffectParamEQ" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.ParamEQ)}" entity="Sound.SoundEffect.ParamEQ">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fCenterFreq" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="8000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Center freq" />
            <attribute Name="CHANGEHANDLER" Value="OnCenterFreqChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(20) MaxValue(22000) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Frequency center.  20.0 to 22000.0.  Default = 8000.0." />
          </attributes>
        </property>
        <property Name="m_fOctaveRange" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Octave range" />
            <attribute Name="CHANGEHANDLER" Value="OnOctaveRangeChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0.2) MaxValue(5) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Octave range around the center frequency to filter.  0.2 to 5.0.  Default = 1.0." />
          </attributes>
        </property>
        <property Name="m_fFrequencyGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Frequency gain" />
            <attribute Name="CHANGEHANDLER" Value="OnFrequencyGainChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0.05) MaxValue(3) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Frequency Gain.  0.05 to 3.0.  Default = 1.0." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="CenterFreq" helptext="Frequency center.  20.0 to 22000.0.  Default = 8000.0." />
        <pin type="float32" name="OctaveRange" helptext="Octave range around the center frequency to filter.  0.2 to 5.0.  Default = 1.0." />
        <pin type="float32" name="FrequencyGain" helptext="Frequency Gain.  0.05 to 3.0.  Default = 1.0." />
      </inputpins>
    </class>
    <class name="ZSoundEffectSFXReverb" fullPropertyList="{(DISPLAYNAME)=(Sound.SoundEffect.SFXReverb)}" entity="Sound.SoundEffect.SFXReverb">
      <baseclasses>
        <baseclass type="ZSoundEffect" />
      </baseclasses>
      <properties>
        <property Name="m_fDryLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Dry Level" />
            <attribute Name="CHANGEHANDLER" Value="OnDryLevelChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(0) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Dry Level" />
          </attributes>
        </property>
        <property Name="m_fRoom" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Room" />
            <attribute Name="CHANGEHANDLER" Value="OnRoomChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(0) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Room" />
          </attributes>
        </property>
        <property Name="m_fRoomHF" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Room HF" />
            <attribute Name="CHANGEHANDLER" Value="OnRoomHFChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(0) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Room HF" />
          </attributes>
        </property>
        <property Name="m_fDecayTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Decay Time" />
            <attribute Name="CHANGEHANDLER" Value="OnDecayTimeChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0.1) MaxValue(20) SoundBlendAutomationIndex(3)" />
            <attribute Name="HELPTEXT" Value="Decay Time" />
          </attributes>
        </property>
        <property Name="m_fDecayHFRatio" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Decay HF Ratio" />
            <attribute Name="CHANGEHANDLER" Value="OnDecayHFRatioChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0.1) MaxValue(2) SoundBlendAutomationIndex(4)" />
            <attribute Name="HELPTEXT" Value="Decay HF Ratio" />
          </attributes>
        </property>
        <property Name="m_fReflections" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reflections" />
            <attribute Name="CHANGEHANDLER" Value="OnReflectionsChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(1000) SoundBlendAutomationIndex(5)" />
            <attribute Name="HELPTEXT" Value="Reflections" />
          </attributes>
        </property>
        <property Name="m_fReflectDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.02" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reflect Delay" />
            <attribute Name="CHANGEHANDLER" Value="OnReflectDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(0.3) SoundBlendAutomationIndex(6)" />
            <attribute Name="HELPTEXT" Value="Reflections Delay" />
          </attributes>
        </property>
        <property Name="m_fReverb" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(2000) SoundBlendAutomationIndex(7)" />
            <attribute Name="HELPTEXT" Value="Reverb" />
          </attributes>
        </property>
        <property Name="m_fReverbDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.04" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb Delay" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbDelayChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(0.1) SoundBlendAutomationIndex(8)" />
            <attribute Name="HELPTEXT" Value="Reverb Delay" />
          </attributes>
        </property>
        <property Name="m_fDiffusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Diffusion" />
            <attribute Name="CHANGEHANDLER" Value="OnDiffusionChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100) SoundBlendAutomationIndex(9)" />
            <attribute Name="HELPTEXT" Value="Diffusion" />
          </attributes>
        </property>
        <property Name="m_fDensity" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Density" />
            <attribute Name="CHANGEHANDLER" Value="OnDensityChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(0) MaxValue(100) SoundBlendAutomationIndex(10)" />
            <attribute Name="HELPTEXT" Value="Density" />
          </attributes>
        </property>
        <property Name="m_fHFReference" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="HF Reference" />
            <attribute Name="CHANGEHANDLER" Value="OnHFReferenceChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(20) MaxValue(20000) SoundBlendAutomationIndex(11)" />
            <attribute Name="HELPTEXT" Value="HF Reference" />
          </attributes>
        </property>
        <property Name="m_fRoomLF" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Room LF" />
            <attribute Name="CHANGEHANDLER" Value="OnRoomLFChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-10000) MaxValue(0) SoundBlendAutomationIndex(12)" />
            <attribute Name="HELPTEXT" Value="Room LF" />
          </attributes>
        </property>
        <property Name="m_fLFReference" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="250" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LF Reference" />
            <attribute Name="CHANGEHANDLER" Value="OnLFReferenceChanged" />
            <attribute Name="CATEGORY" Value="Spinners" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(20) MaxValue(1000) SoundBlendAutomationIndex(13)" />
            <attribute Name="HELPTEXT" Value="LF Reference" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="DryLevel" helptext="Dry Level" />
        <pin type="float32" name="Room" helptext="Room" />
        <pin type="float32" name="RoomHF" helptext="Room HF" />
        <pin type="float32" name="DecayTime" helptext="Decay Time" />
        <pin type="float32" name="DecayHFRatio" helptext="Decay HF Ratio" />
        <pin type="float32" name="Reflections" helptext="Reflections" />
        <pin type="float32" name="ReflectDelay" helptext="Reflections Delay" />
        <pin type="float32" name="Reverb" helptext="Reverb" />
        <pin type="float32" name="ReverbDelay" helptext="Reverb Delay" />
        <pin type="float32" name="Diffusion" helptext="Diffusion" />
        <pin type="float32" name="Density" helptext="Density" />
        <pin type="float32" name="HFReference" helptext="HF Reference" />
        <pin type="float32" name="RoomLF" helptext="Room LF" />
        <pin type="float32" name="LFReference" helptext="LF Reference" />
      </inputpins>
    </class>
    <class name="ZSoundAmbienceBase" fullPropertyList="{(ABSTRACT)=(True)}">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundAmbienceElement" />
      </baseclasses>
      <properties />
      <inputpins>
        <pin type="void" name="DEBUG_MakeCurrent" helptext="Stops all currently playing ambiences and makes this the current ambience. DON'T CONNECT ANY LOGIC TO THIS PIN, ONLY TRIGGER IT MANUALLY IN THE EDITOR." />
      </inputpins>
    </class>
    <class name="ZSoundAmbienceElement" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceElement),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement)}" entity="Sound.Ambience.AmbienceElement">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties>
        <property Name="m_bAmbienceActivated" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="AmbienceActivated" />
            <attribute Name="HELPTEXT" Value="Activation state of the ambience" />
          </attributes>
        </property>
        <property Name="m_bTriggerByAmbience" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Start with ambience parent" />
            <attribute Name="HELPTEXT" Value="Will trigger the element when the ambience starts" />
          </attributes>
        </property>
        <property Name="m_bUseTimer" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use internal timer" />
            <attribute Name="HELPTEXT" Value="Use the internal timer (min and max values) to trigger ambience element" />
          </attributes>
        </property>
        <property Name="m_fMinTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Min Time" />
            <attribute Name="HELPTEXT" Value="Min time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fMaxTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="2.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max Time" />
            <attribute Name="HELPTEXT" Value="Max time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fTimeMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Time multiplier" />
            <attribute Name="HELPTEXT" Value="Scales the Min and Max Time parameters" />
          </attributes>
        </property>
        <property Name="m_fProbability" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Probability" />
            <attribute Name="HELPTEXT" Value="Probability (0-1)" />
          </attributes>
        </property>
        <property Name="m_nMaxPlayCount" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="-1" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max play count" />
            <attribute Name="HELPTEXT" Value="Maximum number of times we are allowed to start this element (-1 = infinite)" />
          </attributes>
        </property>
        <property Name="m_bUseAmbienceAttenuation" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use ambience attenuation" />
            <attribute Name="HELPTEXT" Value="If true the position in the gate controls the attenuation of the ambience element. Otherwise the volume and fade settings on the sound entity will be used." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="AmbienceStart" helptext="Starts the ambience entity" />
        <pin type="void" name="AmbienceStop" helptext="Stops the ambience entity" />
        <pin type="void" name="AmbienceRestart" helptext="Restarts the ambience entity" />
        <pin type="void" name="AmbienceActivate" helptext="Activates the ambience entity" />
        <pin type="void" name="AmbienceDeactivate" helptext="Deactivates the ambience entity" />
        <pin type="float32" name="TimeMultiplier" helptext="Scales the Min and Max Time parameters" />
      </inputpins>
      <outputpins>
        <pin type="void" name="TimeOut" helptext="This pin is fired at random intervals (based on min and max time)" />
      </outputpins>
    </class>
    <class name="ZSoundAmbienceElementRef" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceElementRef),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement)}" entity="Sound.Ambience.AmbienceElementRef">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties>
        <property Name="m_pAmbienceElement" Type="TEntityRef&lt; ISoundAmbienceElement &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="AmbienceElement" />
            <attribute Name="HELPTEXT" Value="Ambience Element Reference" />
          </attributes>
        </property>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(40)" />
            <attribute Name="HELPTEXT" Value="Attenuation in dB" />
          </attributes>
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Pitch" />
            <attribute Name="HELPTEXT" Value="Pitch in cents" />
          </attributes>
        </property>
        <property Name="m_fMinTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Min Time" />
            <attribute Name="HELPTEXT" Value="Min time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fMaxTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max Time" />
            <attribute Name="HELPTEXT" Value="Max time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fTimeMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Time multiplier" />
            <attribute Name="HELPTEXT" Value="Scales the Min and Max Time parameters" />
          </attributes>
        </property>
        <property Name="m_fProbability" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Probability" />
            <attribute Name="HELPTEXT" Value="Probability (0-1)" />
          </attributes>
        </property>
        <property Name="m_fLowpassCutoffFrequency" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass cutoff" />
            <attribute Name="HELPTEXT" Value="Lowpass cutoff frequency in Hz" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="AmbienceStart" helptext="Starts the ambience element reference" />
        <pin type="void" name="AmbienceStop" helptext="Stops the ambience element reference" />
        <pin type="void" name="AmbienceRestart" helptext="Restarts the ambience element reference" />
        <pin type="float32" name="TimeMultiplier" helptext="Scales the Min and Max Time parameters" />
      </inputpins>
    </class>
    <class name="ZSoundAmbienceGroup" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceGroup),(+EXPOSES_CHILDSET)=(AmbienceElement,ISoundAmbienceElement),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement),(+BELONGS_TO_SUBSET)=(Activatable_NormalGameplay,IEntity)}" entity="Sound.Ambience.AmbienceGroup">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(40)" />
            <attribute Name="HELPTEXT" Value="Attenuation in dB" />
          </attributes>
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Pitch" />
            <attribute Name="HELPTEXT" Value="Pitch in cents" />
          </attributes>
        </property>
        <property Name="m_fLowpassCutoffFrequency" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22050.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Lowpass cutoff" />
            <attribute Name="HELPTEXT" Value="Lowpass cutoff frequency in Hz" />
          </attributes>
        </property>
        <property Name="m_aReferences" Type="TArray&lt; ZEntityRef &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="References" />
            <attribute Name="HELPTEXT" Value="Referenced ambience elements" />
          </attributes>
        </property>
        <property Name="m_bIsInside" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Inside" />
            <attribute Name="HELPTEXT" Value="Set to true if this ambience group represents in-door environment" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="AmbienceStart" helptext="Starts the ambience group" />
        <pin type="void" name="AmbienceStop" helptext="Stops the ambience group" />
        <pin type="void" name="AmbienceRestart" helptext="Restarts the ambience group" />
      </inputpins>
    </class>
    <class name="ZSoundAmbienceRandomTimer" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.RandomTimer),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement)}" entity="Sound.Ambience.RandomTimer">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties>
        <property Name="m_bEnabled" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Enabled" />
          </attributes>
        </property>
        <property Name="m_fMinTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Min Time" />
            <attribute Name="HELPTEXT" Value="Min time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fMaxTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="2.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Max Time" />
            <attribute Name="HELPTEXT" Value="Max time (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fProbability" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Probability" />
            <attribute Name="HELPTEXT" Value="Probability (0-1)" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="AmbienceStart" helptext="Enables the timer entity" />
        <pin type="void" name="AmbienceStop" helptext="Disables the timer entity" />
        <pin type="void" name="AmbienceRestart" helptext="Restarts the timer entity" />
      </inputpins>
      <outputpins>
        <pin type="void" name="TimeOut" helptext="This pin is fired at random intervals (based on min and max time)" />
      </outputpins>
    </class>
    <class name="ZSoundAmbienceReverb" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceReverb),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement)}" entity="Sound.Ambience.AmbienceReverb">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties>
        <property Name="m_lUsePreset" Type="ESoundAmbienceReverbPreset">
          <attributes>
            <attribute Name="INIT" Value="eSoundAmbienceReverb_Off" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="UsePreset" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="Use preset. 0 = off, 1..27 = presets" />
          </attributes>
        </property>
        <property Name="m_fEnvSize" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="7.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="EnvSize" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="environment size [meters](SUPPORTED:EAX)" />
          </attributes>
        </property>
        <property Name="m_fEnvDiffusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="EnvDiffusion" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="environment diffusion [0.0-1.0]. Greater value = more reflections  (SUPPORTED:EAX/Xbox1/GC)" />
          </attributes>
        </property>
        <property Name="m_lRoom" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="-1000" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Room" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="room effect level, [1/100dB] (at mid frequencies) (SUPPORTED:EAX/Xbox1/GC/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_lRoomHF" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="-100" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="RoomHF" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="relative room effect level at high frequencies, [1/100dB]  (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_lRoomLF" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="RoomLF" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="relative room effect level at low frequencies, [1/100dB]  (SUPPORTED:EAX/SFX)" />
          </attributes>
        </property>
        <property Name="m_fDecayTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.49" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="DecayTime" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="reverberation decay time (seconds) at mid frequencies (SUPPORTED:EAX/Xbox1/GC/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fDecayHFRatio" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.83" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="DecayHFRatio" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="high-frequency to mid-frequency decay time ratio (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fDecayLFRatio" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="DecayLFRatio" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="low-frequency to mid-frequency decay time ratio (SUPPORTED:EAX)" />
          </attributes>
        </property>
        <property Name="m_lReflections" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="-2602" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reflections" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="early reflections level relative to room effect, [1/100dB] (SUPPORTED:EAX/Xbox1/GC/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fReflectionsDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.007" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="ReflectionsDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="initial reflection delay time, [seconds] (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_lReverb" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="200" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="late reverberation level relative to room effect, [1/100dB] (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fReverbDelay" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.011" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="ReverbDelay" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="late reverberation delay time relative to initial reflection (SUPPORTED:EAX/Xbox1/GC/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fEchoTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.25" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="EchoTime" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="echo time (SUPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO/FMOD_PRESET_PS2_DELAY only)" />
          </attributes>
        </property>
        <property Name="m_fEchoDepth" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="EchoDepth" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="echo depth (SUPPORTED:EAX/PS2(FMOD_PRESET_PS2_ECHO only)" />
          </attributes>
        </property>
        <property Name="m_fModulationTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.25" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="ModulationTime" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="modulation time (SUPPORTED:EAX)" />
          </attributes>
        </property>
        <property Name="m_fModulationDepth" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="ModulationDepth" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="modulation depth (SUPPORTED:EAX/GC)" />
          </attributes>
        </property>
        <property Name="m_fAirAbsorptionHF" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-5.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="AirAbsorptionHF" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="change in level per meter at high frequencies (SUPPORTED:EAX)" />
          </attributes>
        </property>
        <property Name="m_fHFReference" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="HFReference" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="reference high frequency (hz) (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fLFReference" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="250.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="LFReference" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="reference low frequency (hz) (SUPPORTED:EAX/SFX)" />
          </attributes>
        </property>
        <property Name="m_fRoomRolloffFactor" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="RoomRolloffFactor" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="like rolloffscale in System::set3DSettings but for reverb room size effect (SUPPORTED:EAX/Xbox1/I3DL2/SFX)" />
          </attributes>
        </property>
        <property Name="m_fDiffusion" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Diffusion" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="Value that controls the echo density in the late reverberation decay. (SUPPORTED:I3DL2/Xbox1/SFX)" />
          </attributes>
        </property>
        <property Name="m_fDensity" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="100.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Density" />
            <attribute Name="CHANGEHANDLER" Value="OnReverbPropertyChanged" />
            <attribute Name="HELPTEXT" Value="Value that controls the modal density in the late reverberation decay (SUPPORTED:I3DL2/Xbox1/SFX)" />
          </attributes>
        </property>
        <property Name="m_eSoundGlobalReverb" Type="ESoundGlobalReverb">
          <attributes>
            <attribute Name="INIT" Value="eSoundGlobalReverb_Ambience0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Index" />
            <attribute Name="HELPTEXT" Value="Identifies which reverb unit(s) should be controlled." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundAmbienceTransition" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.SoundAmbienceTransition)}" entity="Sound.Ambience.SoundAmbienceTransition">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="ISoundAmbienceTransition" />
      </baseclasses>
      <properties>
        <property Name="m_AmbienceSide0" Type="TEntityRef&lt; ISoundAmbienceElement &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 0 sound" />
          </attributes>
        </property>
        <property Name="m_AmbienceSide1" Type="TEntityRef&lt; ISoundAmbienceElement &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 1 sound" />
          </attributes>
        </property>
        <property Name="m_FadeOutCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|FadeOut|0|1|||||L|C0|2|0,1;C0;L;0|1,0;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 0 attenuation curve" />
            <attribute Name="HELPTEXT" Value="Parametrized between 0 (green) and 1 (purple) of the gate" />
          </attributes>
        </property>
        <property Name="m_FadeInCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|FadeIn|0|1|||||L|C0|2|0,0;C0;L;0|1,1;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 1 attenuation curve" />
            <attribute Name="HELPTEXT" Value="Parametrized between 0 (green) and 1 (purple) of the gate" />
          </attributes>
        </property>
        <property Name="m_HybridCurveSide0" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|side0|0|1|||||L|C0|11|0,0;C0;L;0|0.1,0.31622776601683794;C0;L;0|0.2,0.44721359549995793;C0;L;0|0.3,0.54772255750516619;C0;L;0|0.4,0.63245553203367588;C0;L;0|0.5,0.70710678118654757;C0;L;0|0.6,0.7745966692414834;C0;L;0|0.7,0.83666002653407556;C0;L;0|0.8,0.89442719099991586;C0;L;0|0.9,0.94868329805051377;C0;L;0|1,1;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 0 Hybrid curve" />
            <attribute Name="HELPTEXT" Value="Parameterized between 0 (green) and 1 (purple) of the gate" />
          </attributes>
        </property>
        <property Name="m_HybridCurveSide1" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01|side1|0|1|||||L|C0|11|0,1;C0;L;0|0.1,0.94868329805051377;C0;L;0|0.2,0.89442719099991586;C0;L;0|0.3,0.83666002653407556;C0;L;0|0.4,0.7745966692414834;C0;L;0|0.5,0.70710678118654757;C0;L;0|0.6,0.63245553203367577;C0;L;0|0.7,0.54772255750516607;C0;L;0|0.8,0.44721359549995787;C0;L;0|0.9,0.31622776601683789;C0;L;0|1,0;C0;L;0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Side 1 Hybrid curve" />
            <attribute Name="HELPTEXT" Value="Parameterized between 0 (green) and 1 (purple) of the gate" />
          </attributes>
        </property>
        <property Name="m_bHybridTransitionEnabled" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="HybridEnable" />
            <attribute Name="HELPTEXT" Value="Enable / disable hybrid transition" />
          </attributes>
        </property>
        <property Name="m_fOcclusionAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="DISPLAYNAME" Value="Occlusion attenuation" />
            <attribute Name="HELPTEXT" Value="Occlusion attenuation in dB." />
          </attributes>
        </property>
        <property Name="m_fOcclusionLowpassLow" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion lowpass cutoff low" />
            <attribute Name="HELPTEXT" Value="Occlusion lowpass cutoff frequency in Hz for occluded path." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="ZString" name="EventName" helptext="Event name" />
        <pin type="float32" name="Value" helptext="Value (0-1)" />
        <pin type="SVector3" name="SourcePosition" helptext="Receive source gate position" />
        <pin type="SVector3" name="DestinationPosition" helptext="Receive destination gate position" />
        <pin type="float32" name="SourceOcclusionFactor" helptext="Receive source occlusion factor for 2D sounds" />
        <pin type="float32" name="DestinationOcclusionFactor" helptext="Receive destination occlusion factor for 2D sounds" />
      </inputpins>
    </class>
    <class name="ZSoundAmbienceTrigger" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.AmbienceTrigger),(+BELONGS_TO_SUBSET)=(AmbienceElement,ISoundAmbienceElement)}" entity="Sound.Ambience.AmbienceTrigger">
      <baseclasses>
        <baseclass type="ZSoundAmbienceBase" />
      </baseclasses>
      <properties />
      <outputpins>
        <pin type="void" name="Started" helptext="Triggers when the ambience element is started" />
        <pin type="void" name="Stopped" helptext="Triggers when the ambience element is stopped" />
        <pin type="void" name="CurrentAmbience" helptext="Triggers when the ambience element is set as the current ambience" />
        <pin type="void" name="UnsetCurrentAmbience" helptext="Triggers when the ambience element is unset as the current ambience" />
        <pin type="float32" name="Weight" helptext="Weight of ambience element. This is a measure for how much this ambience element contributes to the current ambience soundscape." />
      </outputpins>
    </class>
    <class name="ZSoundInitialAmbience" fullPropertyList="{(DISPLAYNAME)=(Sound.Ambience.SoundInitialAmbience)}" entity="Sound.Ambience.SoundInitialAmbience">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_InitialAmbience" Type="TEntityRef&lt; ISoundAmbienceElement &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Initial Ambience" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetAttenuationGain" helptext="Sets the attenuation gain of the whole ambience system (in dBs)" />
        <pin type="void" name="Pause" helptext="Pauses the whole ambience system" />
        <pin type="void" name="Unpause" helptext="Unpauses the whole ambience system" />
      </inputpins>
    </class>
    <class name="ISoundGate" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ZSoundGateEntityTemp" fullPropertyList="{(+MANIPULATOR)=([modules:/tool.editorserver.moduleinfo?ZManipulatorGate.class].entitytype)}" entity="Runtime.Sound.SoundGateEntityTemp">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
        <baseclass type="ISoundGate" />
      </baseclasses>
      <properties>
        <property Name="m_bEnabled" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Enabled" />
            <attribute Name="HELPTEXT" Value="Enable/disable this gate (if we're already inside the gate, this will be applied upon reentry" />
          </attributes>
        </property>
        <property Name="m_fThicknessSource" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Thickness (side 1)" />
            <attribute Name="HELPTEXT" Value="We are in the vicinity of the gate within this distance on the source side" />
          </attributes>
        </property>
        <property Name="m_fThicknessDestination" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Thickness (side 2)" />
            <attribute Name="HELPTEXT" Value="We are in the vicinity of the gate within this distance on the destination side" />
          </attributes>
        </property>
        <property Name="m_fOcclusionRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="NAME" Value="m_fOcclusionRadius" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion max radius" />
            <attribute Name="HELPTEXT" Value="Occlusion max radius. If previous occlusion test failed, the system will search for nearby unoccluded points and use this to point-sample the amount of occlusion." />
          </attributes>
        </property>
        <property Name="m_fOcclusionMinRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion min radius" />
            <attribute Name="HELPTEXT" Value="Occlusion min radius. As long as the occlusion tests succeed, the system will search for the next occlusion at a random point inside a sphere of this radius." />
          </attributes>
        </property>
        <property Name="m_GateType" Type="ESoundGateType">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Gate type" />
          </attributes>
        </property>
        <property Name="m_pAmbienceTransition" Type="TEntityRef&lt; ZSoundAmbienceTransition &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Ambience transition" />
          </attributes>
        </property>
        <property Name="m_vLocalSize" Type="SVector2">
          <attributes>
            <attribute Name="INIT" Value="1, 1" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Plane size" />
            <attribute Name="HELPTEXT" Value="Size of plane" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Enable" helptext="enable this gate" />
        <pin type="void" name="Disable" helptext="disable this gate" />
      </inputpins>
      <outputpins>
        <pin type="ZString" name="SendEventName" helptext="send an event name to the ASM" />
        <pin type="float32" name="SendValue" helptext="send a value 0-1 to the ASM" />
        <pin type="void" name="CrossForward" helptext="Crossing the middle plane forward" />
        <pin type="void" name="CrossBackward" helptext="Crossing the middle plane backward" />
        <pin type="SVector3" name="SendSourcePosition" helptext="Send the position of the middle of the source side of the gate" />
        <pin type="SVector3" name="SendDestinationPosition" helptext="Send the position of the middle of the source side of the gate" />
        <pin type="float32" name="SendSourceOcclusionFactor" helptext="Send the source occlusion factor for 2D sounds" />
        <pin type="float32" name="SendDestinationOcclusionFactor" helptext="Send the destination occlusion factor for 2D sounds" />
      </outputpins>
    </class>
    <class name="ISoundVolumetricGeom" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ZSoundVolumetricAspect" fullPropertyList="{(DISPLAYNAME)=(Sound.Volumetric.VolumetricAspect),(+EXPOSES_CHILDSET)=(VolumetricSoundGeometry,ISoundVolumetricGeom)}" entity="Sound.Volumetric.VolumetricAspect">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
        <baseclass type="ISoundListenerPositionReceiver" />
        <baseclass type="ISoundUpdateListener" />
      </baseclasses>
      <properties>
        <property Name="m_fDistanceAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-3.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Distance attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Distance attenuation in dB per meter" />
          </attributes>
        </property>
        <property Name="m_fDirectionalAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-3.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Directional attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Directional attenuation in dB when the camera is back-facing the object." />
          </attributes>
        </property>
        <property Name="m_fDirectionalAttenuationCurve" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="3.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Directional attenuation curve" />
            <attribute Name="HELPTEXT" Value="Directional attenuation curve" />
          </attributes>
        </property>
        <property Name="m_f3DWeight" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="3D Weight" />
            <attribute Name="HELPTEXT" Value="The value (between 0 and 1) that determines the 3D-ishness of the sound. 1 means fully 3d, 0 means fully 2D." />
          </attributes>
        </property>
        <property Name="m_fReverbLevelNear" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-30.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb level near" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB when near sound source" />
          </attributes>
        </property>
        <property Name="m_fReverbLevelFar" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-10.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb level far" />
            <attribute Name="HELPTEXT" Value="Reverb level in dB when far away from sound source (distance &gt;= m_fReverbRadius)" />
          </attributes>
        </property>
        <property Name="m_fReverbRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Reverb radius" />
            <attribute Name="HELPTEXT" Value="Reverb radius in meters. The minimum distance at which the reverb is loudest. If &lt;= 0 automatic reverb level control will be disabled for this sound." />
          </attributes>
        </property>
        <property Name="m_fOcclusionAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="-12" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
            <attribute Name="HELPTEXT" Value="Occlusion attenuation in dB. When the object is occluded, it will be attenuated by this amount." />
          </attributes>
        </property>
        <property Name="m_fDopplerLevel" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Doppler level" />
            <attribute Name="HELPTEXT" Value="0 = No doppler. 1 = Normal doppler. 5 = max." />
          </attributes>
        </property>
        <property Name="m_fOcclusionLowpassHigh" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion lowpass cutoff high" />
            <attribute Name="HELPTEXT" Value="Occlusion lowpass cutoff frequency in Hz for unoccluded path." />
          </attributes>
        </property>
        <property Name="m_fOcclusionLowpassLow" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="22000.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Occlusion lowpass cutoff low" />
            <attribute Name="HELPTEXT" Value="Occlusion lowpass cutoff frequency in Hz for occluded path." />
          </attributes>
        </property>
        <property Name="m_bAlignListener" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Align listener" />
            <attribute Name="HELPTEXT" Value="Aligns listener orientation to ground plane. This prevents changes in directional attenuation when looking up or down." />
          </attributes>
        </property>
        <property Name="m_bUseAllInputChannels" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Use all input channels" />
            <attribute Name="HELPTEXT" Value="If true, uses all input channels for speaker levels. Otherwise clamps the number to stereo in order to lower computational cost." />
          </attributes>
        </property>
        <property Name="m_eSoundGlobalReverbChannelGroup" Type="ESoundGlobalReverb">
          <attributes>
            <attribute Name="INIT" Value="eSoundGlobalReverb_Ambience0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel group reverb target" />
            <attribute Name="HELPTEXT" Value="Controls which reverbs receive this sound when (and only when) the volumetric aspect is attached to a channel group. If the volumetric aspect is placed on an entity derived from a sound entity, the normal m_eSoundGlobalReverb property of SoundEntities will be used." />
          </attributes>
        </property>
        <property Name="m_fGlobalReverb1AttenuationChannelGroup" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Channel group global reverb 1 attenuation" />
            <attribute Name="CONSTRAINT" Value="Editors(Spinner) MinValue(-100) MaxValue(10) DecimalPlaces(1) Step(0.5)" />
            <attribute Name="HELPTEXT" Value="Sets the fixed level at which sound will be sent into global reverb 1. Only used when volumetric aspect is placed on a channel group." />
          </attributes>
        </property>
        <property Name="m_pHelper" Type="ZResourcePtr">
          <attributes>
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="INIT" Value="[assembly:/Geometry/G2/Gizmos.wl2?/Gizmo_Sound_01.prim].prim" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="Set3DWeight" helptext="Sets the weight between 2D and 3D'ishness of the sound" />
      </inputpins>
      <outputpins>
        <pin type="float32" name="OcclusionLowpassCutoff" helptext="The current occlusion lowpass cutoff frequency" />
      </outputpins>
    </class>
    <class name="ZSoundVolumetricGeomBase" fullPropertyList="{(ABSTRACT)=(True),(+BELONGS_TO_SUBSET)=(VolumetricSoundGeometry,ISoundVolumetricGeom)}">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
        <baseclass type="ISoundVolumetricGeom" />
      </baseclasses>
      <properties>
        <property Name="m_fVolumetricGain" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(40)" />
            <attribute Name="DISPLAYNAME" Value="Volumetric gain" />
            <attribute Name="HELPTEXT" Value="Volumetric gain" />
          </attributes>
        </property>
        <property Name="m_fPanningStrength" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Transition intensity" />
            <attribute Name="HELPTEXT" Value="Transition intensity. Controls the smoothness of the transition between inside (original) and outside (3D point source) speaker setup." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="float32" name="SetVolumetricGain" helptext="Sets the volumetric gain on the geometry" />
      </inputpins>
    </class>
    <class name="ZSoundVolumetricGeomBox" fullPropertyList="{(DISPLAYNAME)=(Sound.Volumetric.GeomBox),(+MANIPULATOR)=([modules:/tool.editorserver.moduleinfo?ZManipulatorBox.class].entitytype)}" entity="Sound.Volumetric.GeomBox">
      <baseclasses>
        <baseclass type="ZSoundVolumetricGeomBase" />
      </baseclasses>
      <properties>
        <property Name="m_vGlobalSize" Type="SVector3">
          <attributes>
            <attribute Name="INIT" Value="2, 3, 4" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Size" />
            <attribute Name="HELPTEXT" Value="The size of the axis aligned box volume" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundVolumetricGeomSphere" fullPropertyList="{(DISPLAYNAME)=(Sound.Volumetric.GeomSphere)}" entity="Sound.Volumetric.GeomSphere">
      <baseclasses>
        <baseclass type="ZSoundVolumetricGeomBase" />
      </baseclasses>
      <properties>
        <property Name="m_fRadius" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnRadiusChanged" />
            <attribute Name="DISPLAYNAME" Value="Radius" />
            <attribute Name="HELPTEXT" Value="Radius" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ISoundVolumetricGeomSplinePoint" fullPropertyList="{}">
      <properties />
    </class>
    <class name="ZSoundVolumetricGeomSplinePoint" fullPropertyList="{(DISPLAYNAME)=(Sound.Volumetric.GeomSplinePoint),(+MANIPULATOR)=([modules:/tool.editorserver.moduleinfo?ZManipulatorBox.class].entitytype)}" entity="Sound.Volumetric.GeomSplinePoint">
      <baseclasses>
        <baseclass type="ZBoundedEntity" />
        <baseclass type="ISoundVolumetricGeomSplinePoint" />
      </baseclasses>
      <properties>
        <property Name="m_vGlobalSize" Type="SVector3">
          <attributes>
            <attribute Name="INIT" Value="2, 10, 10" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Size" />
            <attribute Name="HELPTEXT" Value="Thickness, tangent and velocity scale" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundVolumetricGeomSpline" fullPropertyList="{(DISPLAYNAME)=(Sound.Volumetric.GeomSpline),(+BELONGS_TO_SUBSET)=(VolumetricSoundGeometry,ISoundVolumetricGeom)}" entity="Sound.Volumetric.GeomSpline">
      <baseclasses>
        <baseclass type="ZSoundVolumetricGeomBase" />
      </baseclasses>
      <properties>
        <property Name="m_fThicknessScale" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Thickness Scale" />
            <attribute Name="HELPTEXT" Value="Thickness Scale" />
          </attributes>
        </property>
        <property Name="m_fTangentScale" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Tangent scale" />
            <attribute Name="HELPTEXT" Value="Tangent scale" />
          </attributes>
        </property>
        <property Name="m_fMinAngle" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="5.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Minimum angle" />
            <attribute Name="HELPTEXT" Value="Minimum angle between two consecutive lines. If the angle is less than this, the line segment will be discarded." />
          </attributes>
        </property>
        <property Name="m_nSubdivision" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="10" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Subdivision" />
            <attribute Name="HELPTEXT" Value="Subdivision" />
          </attributes>
        </property>
        <property Name="m_bClosed" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Closed" />
            <attribute Name="HELPTEXT" Value="True if spline should be closed." />
          </attributes>
        </property>
        <property Name="m_bSplineFollower" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Spline follower" />
            <attribute Name="HELPTEXT" Value="Use entity as a particle following a spline path." />
          </attributes>
        </property>
        <property Name="m_bSumSegments" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="RebuildSpline" />
            <attribute Name="DISPLAYNAME" Value="Sum segments" />
            <attribute Name="HELPTEXT" Value="Sum all line segments instead of finding the closest one." />
          </attributes>
        </property>
        <property Name="m_fSplineFollowerSpeed" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.04" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Spline follower speed" />
            <attribute Name="HELPTEXT" Value="Speed in meters per second." />
          </attributes>
        </property>
        <property Name="m_ControlPoints" Type="TArray&lt; ZEntityRef &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Control points" />
            <attribute Name="HELPTEXT" Value="Spline control points." />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="RestartFollower" helptext="Restart spline follower." />
      </inputpins>
    </class>
    <class name="ZCompositionEntity" fullPropertyList="{(DISPLAYNAME)=(Sound.Music.Composition)}" entity="Sound.Music.Composition">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
        <baseclass type="IMusicUpdateable" />
        <baseclass type="IMusicComposition" />
      </baseclasses>
      <properties>
        <property Name="m_pParentChannelGroup" Type="TEntityRef&lt; ISoundChannelGroup &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DISPLAYNAME" Value="Parent Channel Group" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="HELPTEXT" Value="Parent Channel Group" />
          </attributes>
        </property>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Attenuation (dB)" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="HELPTEXT" Value="Main volume attenuation for playlists and stingers (dB)" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0)" />
          </attributes>
        </property>
        <property Name="m_fStingerAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="6" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Stinger attenuation, relative to main attenuation (dB)" />
            <attribute Name="HELPTEXT" Value="Stinger attenuation (dB)" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(6)" />
          </attributes>
        </property>
        <property Name="m_fFadeInDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade in duration" />
            <attribute Name="HELPTEXT" Value="Fade in duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fFadeOutDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade out duration" />
            <attribute Name="HELPTEXT" Value="Fade out duration (in seconds)" />
          </attributes>
        </property>
      </properties>
      <inputpins>
        <pin type="void" name="Activate" helptext="Activates the composition" />
        <pin type="void" name="Pause" helptext="Initiates transition to paused mode" />
        <pin type="void" name="Resume" helptext="Initiates transition away from paused mode" />
      </inputpins>
    </class>
    <class name="ZSoundBlendCollision" fullPropertyList="{}">
      <properties />
    </class>
    <class name="ZSoundBlendContainerBase" fullPropertyList="{(ABSTRACT)=(True)}">
      <baseclasses>
        <baseclass type="ZSoundPlayableBase" />
        <baseclass type="ISoundBlendContainer" />
      </baseclasses>
      <properties>
        <property Name="m_bUseGameTime" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="DISPLAYNAME" Value="Use game time" />
          </attributes>
        </property>
        <property Name="m_bDebugShowParameters" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="false" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="DISPLAYNAME" Value="Show parameters" />
            <attribute Name="HELPTEXT" Value="Shows current parameters as overlay text" />
          </attributes>
        </property>
        <property Name="m_fCooldownTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="DISPLAYNAME" Value="Cool-down time" />
            <attribute Name="HELPTEXT" Value="Cool-down time. If greater than 0, the entity will ignore any Play requests happening in this time-span after the previous Play call." />
          </attributes>
        </property>
        <property Name="m_nPriority" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="128" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Blend priority" />
            <attribute Name="HELPTEXT" Value="Priority for the blend sound" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundBlendContainerExternalParameters" fullPropertyList="{(HIDDEN)=(True),(+EXPOSES_CHILDSET)=(SoundBlendTrack,ZSoundBlendTrack)}" entity="Runtime.Sound.SoundBlendContainerExternalParameters">
      <baseclasses>
        <baseclass type="ZSoundBlendContainerBase" />
      </baseclasses>
      <properties>
        <property Name="m_bAutoDestruct" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Auto-destruct" />
            <attribute Name="HELPTEXT" Value="If true, the blend objects destroy themselves after the channel(s) finish playing. Otherwise the container waits for a stop signal" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="SSBCExternalParametersData" fullPropertyList="{}">
      <properties>
        <property Name="m_nNumParameters" Type="uint32">
          <attributes />
        </property>
        <property Name="m_nOffsetToParameters" Type="uint32">
          <attributes />
        </property>
        <property Name="m_aParameterIDs" Type="TArray&lt; uint32 &gt;">
          <attributes />
        </property>
        <property Name="m_aMinMaxDefaultValues" Type="TArray&lt; SSBCExternalParametersProperties &gt;">
          <attributes />
        </property>
      </properties>
    </class>
    <class name="ZSoundBlendContainerPhysics" fullPropertyList="{(DISPLAYNAME)=(Sound.Blend.SoundBlendContainerPhysics),(+EXPOSES_CHILDSET)=(SoundBlendTrack,ZSoundBlendTrack),(+BELONGS_TO_SUBSET)=(SoundBlendContainerPhysics,ZSoundBlendContainerPhysics)}" entity="Sound.Blend.SoundBlendContainerPhysics">
      <baseclasses>
        <baseclass type="ZSoundBlendContainerBase" />
      </baseclasses>
      <properties>
        <property Name="m_eSoundCollisionType" Type="ESoundCollisionType">
          <attributes>
            <attribute Name="INIT" Value="ESCT_IMPACT" />
            <attribute Name="CATEGORY" Value="Sound_8_Blend" />
            <attribute Name="NAME" Value="m_eSoundCollisionType" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Collision type" />
            <attribute Name="HELPTEXT" Value="Collision type" />
          </attributes>
        </property>
        <property Name="m_fMinDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.5" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMinMaxDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Min distance" />
          </attributes>
        </property>
        <property Name="m_fMaxDistance" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="20.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMinMaxDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Max distance" />
          </attributes>
        </property>
        <property Name="m_fMinDistanceLoud" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="15.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMinMaxDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Min distance loud" />
          </attributes>
        </property>
        <property Name="m_fMaxDistanceLoud" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="70.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="OnMinMaxDistanceChanged" />
            <attribute Name="DISPLAYNAME" Value="Max distance loud" />
          </attributes>
        </property>
        <property Name="m_e3dRolloffType" Type="ESOUND_3DROLLOFF_TYPE">
          <attributes>
            <attribute Name="INIT" Value="SOUND_3D_LOGARITHMIC_ROLLOFF" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="3D Rolloff Type" />
          </attributes>
        </property>
        <property Name="m_RolloffCurve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="CRV01||0|10|||||L|C0|2|0,1.0;C2;L;2;-0.1,1.0;0.1,1.0|10,0.0;C2;L;2;9,0;11,0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Custom rolloff curve" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundBlendEffectSubtrack" fullPropertyList="{(HIDDEN)=(True),(DISPLAYNAME)=(Sound.Blend.SoundBlendEffectSubtrack)}" entity="Sound.Blend.SoundBlendEffectSubtrack">
      <baseclasses>
        <baseclass type="ZSoundBlendSubtrackBase" />
      </baseclasses>
      <properties>
        <property Name="m_Effect" Type="TEntityRef&lt; ZSoundEffect &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Effect Reference" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundBlendItem" fullPropertyList="{(HIDDEN)=(True),(DISPLAYNAME)=(Sound.Blend.SoundBlendItem),(+BELONGS_TO_SUBSET)=(SoundBlendItem,ZSoundBlendItem),(+BELONGS_TO_SUBSET)=(Streamable,IEntity)}" entity="Sound.Blend.SoundBlendItem">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_fMinParam" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Sound Item Min" />
            <attribute Name="HELPTEXT" Value="Sound Item extent min" />
          </attributes>
        </property>
        <property Name="m_fMaxParam" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Sound Item Max" />
            <attribute Name="HELPTEXT" Value="Sound Item extent max" />
          </attributes>
        </property>
        <property Name="m_fAttenuation" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="CHANGEHANDLER" Value="{(OnAttenuationChanged)=(True)}" />
            <attribute Name="DISPLAYNAME" Value="Attenuation (dB)" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(0) SoundBlendAutomationIndex(0)" />
            <attribute Name="HELPTEXT" Value="Volume attenuation (dB)" />
          </attributes>
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="CHANGEHANDLER" Value="{(OnPitchChanged)=(True)}" />
            <attribute Name="DISPLAYNAME" Value="Pitch" />
            <attribute Name="CONSTRAINT" Value="MinValue(-3600.0) MaxValue(1200.0) Step(10.0) DecimalPlaces(0) SoundBlendAutomationIndex(1)" />
            <attribute Name="HELPTEXT" Value="Pitch in 100th of semitones" />
          </attributes>
        </property>
        <property Name="m_fFadeInDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade in duration" />
            <attribute Name="HELPTEXT" Value="Fade in duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fFadeOutDuration" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Fade out duration" />
            <attribute Name="HELPTEXT" Value="Fade out duration (in seconds)" />
          </attributes>
        </property>
        <property Name="m_fRetriggerMinTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.5" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Retrigger Min Time" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.1) MaxValue(50)" />
            <attribute Name="HELPTEXT" Value="Retrigger minimum time" />
          </attributes>
        </property>
        <property Name="m_fRetriggerMaxTime" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Retrigger Max Time" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.1) MaxValue(50)" />
            <attribute Name="HELPTEXT" Value="Retrigger maximum time" />
          </attributes>
        </property>
        <property Name="m_fRetriggerTimeMultiplier" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="1.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Retrigger Time Multiplier" />
            <attribute Name="CONSTRAINT" Value="MinValue(0.0) MaxValue(10) SoundBlendAutomationIndex(2)" />
            <attribute Name="HELPTEXT" Value="Retrigger time multiplier" />
          </attributes>
        </property>
        <property Name="m_WaveBankResourceID" Type="TResourcePtr&lt; ZWaveBankData &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="NAME" Value="m_WaveBankResourceID" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_1_Resource" />
            <attribute Name="STREAMABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="WaveBank" />
            <attribute Name="CONSTRAINT" Value="ResourceType(wavebank,wavebank;localized-wavebank,localized-wavebank)" />
          </attributes>
        </property>
        <property Name="m_ePlayParameters" Type="ESoundPlayParameters">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Play parameters" />
          </attributes>
        </property>
        <property Name="m_nNoRepeatCount" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="No repeat count" />
            <attribute Name="HELPTEXT" Value="When playing random subsounds, don't choose any from the last n played." />
          </attributes>
        </property>
        <property Name="m_nChannel" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Channel" />
            <attribute Name="HELPTEXT" Value="The channel index in the wavebank to play" />
          </attributes>
        </property>
        <property Name="m_eLoopMode" Type="ESoundBlendLoopMode">
          <attributes>
            <attribute Name="INIT" Value="ESBLM_ONESHOT" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_3_Play Behavior" />
            <attribute Name="DISPLAYNAME" Value="Loop mode" />
            <attribute Name="HELPTEXT" Value="Controls the looping behavior" />
          </attributes>
        </property>
        <property Name="m_fAttenuationRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DISPLAYNAME" Value="Attenuation randomizer (dBs)" />
            <attribute Name="HELPTEXT" Value="Attenuation will deviate down between 0 and this amount, make sure the value is negative!" />
            <attribute Name="CONSTRAINT" Value="Editors(VolumeEditor) MinValue(-120) MaxValue(40)" />
          </attributes>
        </property>
        <property Name="m_fPitchRandomizer" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DISPLAYNAME" Value="Pitch randomizer (cents)" />
            <attribute Name="HELPTEXT" Value="Pitch will deviate up or down by this amount cents (100ths of semitones)" />
          </attributes>
        </property>
        <property Name="m_fRandomStartOffset" Type="float32">
          <attributes>
            <attribute Name="INIT" Value="0.0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DISPLAYNAME" Value="Random start offset" />
            <attribute Name="HELPTEXT" Value="Upper bound of randomized start offset (seconds)" />
          </attributes>
        </property>
        <property Name="m_bRealtimeFade" Type="bool">
          <attributes>
            <attribute Name="INIT" Value="true" />
            <attribute Name="CATEGORY" Value="Sound_2_Sonic" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Real-time fade" />
            <attribute Name="HELPTEXT" Value="If true, fade in/out will use real-time instead iof the default game-time." />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundBlendItemSubtrack" fullPropertyList="{(HIDDEN)=(True),(DISPLAYNAME)=(Sound.Blend.SoundBlendItemSubtrack),(+EXPOSES_CHILDSET)=(SoundBlendItem,ZSoundBlendItem)}" entity="Sound.Blend.SoundBlendItemSubtrack">
      <baseclasses>
        <baseclass type="ZSoundBlendSubtrackBase" />
      </baseclasses>
      <properties />
    </class>
    <class name="ZSoundBlendSubtrackBase" fullPropertyList="{(ABSTRACT)=(True),(+EXPOSES_CHILDSET)=(ParameterCurves,ZSoundParameterCurve)}">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties />
    </class>
    <class name="ZSoundBlendTrack" fullPropertyList="{(HIDDEN)=(True),(+BELONGS_TO_SUBSET)=(SoundBlendTrack,ZSoundBlendTrack)}" entity="Runtime.Sound.SoundBlendTrack">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_nPrimarySourceID" Type="uint32">
          <attributes>
            <attribute Name="INIT" Value="999" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Primary parameter" />
            <attribute Name="HELPTEXT" Value="Source parameter for item selection" />
          </attributes>
        </property>
        <property Name="m_ItemSubtrack" Type="TEntityRef&lt; ZSoundBlendItemSubtrack &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Sound Item Track" />
            <attribute Name="HELPTEXT" Value="Sound Item Track" />
          </attributes>
        </property>
        <property Name="m_EffectSubtracks" Type="TArray&lt; TEntityRef&lt;ZSoundBlendEffectSubtrack &gt; &gt;">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="DESIGNONLY" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Effect Tracks" />
            <attribute Name="HELPTEXT" Value="Sound Effect Tracks" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="ZSoundParameterCurve" fullPropertyList="{(HIDDEN)=(True),(DISPLAYNAME)=(Sound.Blend.SoundParameterCurve),(+BELONGS_TO_SUBSET)=(ParameterCurves,ZSoundParameterCurve)}" entity="Sound.Blend.SoundParameterCurve">
      <baseclasses>
        <baseclass type="ZEntityImpl" />
      </baseclasses>
      <properties>
        <property Name="m_Curve" Type="ZCurve">
          <attributes>
            <attribute Name="INIT" Value="" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Parameter curve" />
          </attributes>
        </property>
        <property Name="m_nIndex" Type="int32">
          <attributes>
            <attribute Name="INIT" Value="0" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Parameter index" />
            <attribute Name="HELPTEXT" Value="The index of the parameter on sound or effect to which this curve applies" />
          </attributes>
        </property>
        <property Name="m_nSourceID" Type="uint32">
          <attributes>
            <attribute Name="INIT" Value="1000" />
            <attribute Name="HIDDEN" Value="True" />
            <attribute Name="RTEDITABLE" Value="True" />
            <attribute Name="CHANGEHANDLER" Value="True" />
            <attribute Name="DISPLAYNAME" Value="Source parameter ID" />
            <attribute Name="HELPTEXT" Value="The ID of the source parameter that controls the curve parameter" />
          </attributes>
        </property>
      </properties>
    </class>
    <class name="SFaceFXAnimationRef" fullPropertyList="{}">
      <properties>
        <property Name="m_AnimationSetResource" Type="TResourcePtr&lt; OC3Ent.Face.FxAnimSet &gt;">
          <attributes />
        </property>
        <property Name="m_sAnimationName" Type="ZString">
          <attributes />
        </property>
      </properties>
    </class>
    <class name="SSubtitleRef" fullPropertyList="{}">
      <properties>
        <property Name="m_TextlistResource" Type="TResourcePtr&lt; ZTextListData &gt;">
          <attributes />
        </property>
        <property Name="m_nHashedLoganID" Type="uint32">
          <attributes />
        </property>
      </properties>
    </class>
    <class name="ISoundAmbienceElement" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundAmbienceTransition" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundBlendContainer" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundChannelGroup" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="ISoundModifiable" />
        <baseclass type="ISoundEffectAttachable" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundDefinition" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundEffect" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundGroup" fullPropertyList="{}">
      <properties />
    </class>
    <class name="ISoundListenerPositionReceiver" fullPropertyList="{}">
      <properties />
    </class>
    <class name="ISoundModifiable" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundPhysicsImpactMatrix" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundPlayable" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="IComponentInterface" />
      </baseclasses>
      <properties />
    </class>
    <class name="ISoundPlayerChannel" fullPropertyList="{}">
      <baseclasses>
        <baseclass type="ISubtitledPlayer" />
      </baseclasses>
      <properties />
    </class>
    <class name="SSoundTriggerPoint" fullPropertyList="{}">
      <properties>
        <property Name="m_vPosition" Type="SVector3">
          <attributes />
        </property>
        <property Name="m_nChannel" Type="int32">
          <attributes />
        </property>
        <property Name="m_nChannelFlags" Type="int32">
          <attributes />
        </property>
        <property Name="m_fAttenuation" Type="float32">
          <attributes />
        </property>
        <property Name="m_fPitch" Type="float32">
          <attributes />
        </property>
        <property Name="m_fLowpassCutoff" Type="float32">
          <attributes />
        </property>
        <property Name="m_fDelayTime" Type="float32">
          <attributes />
        </property>
        <property Name="m_pWavebank" Type="TResourcePtr&lt; ZWaveBankData &gt;">
          <attributes />
        </property>
      </properties>
    </class>
    <class name="ZSpeakerLevels" fullPropertyList="{(EDITORTYPE)=(IOI.Tools.G2Utility.SpeakerLevels, IOI.Tools.G2Utility)}" editortype="IOI.Tools.G2Utility.SpeakerLevels, IOI.Tools.G2Utility">
      <properties />
    </class>
  </classes>
  <enums>
    <enum name="ESmoothingMode" taggedForFullParsing="true">
      <items>
        <item name="ESM_LINEAR" value="0" displayname="ESM_LINEAR" />
        <item name="ESM_EXPONENTIAL" value="1" displayname="ESM_EXPONENTIAL" />
      </items>
    </enum>
    <enum name="ESoundChannelGroup" taggedForFullParsing="true">
      <items>
        <item name="ESCG_NONE" value="0" displayname="ESCG_NONE" />
        <item name="SND_Default" value="1" displayname="SND_Default" />
        <item name="SND_Phys_Rigidbody" value="2" displayname="SND_Phys_Rigidbody" />
        <item name="SND_Phys_Shatter" value="3" displayname="SND_Phys_Shatter" />
        <item name="SND_Wpn_HM" value="4" displayname="SND_Wpn_HM" />
        <item name="SND_Wpn_HM_Shot" value="5" displayname="SND_Wpn_HM_Shot" />
        <item name="SND_Wpn_NPC" value="6" displayname="SND_Wpn_NPC" />
        <item name="SND_Wpn_Impacts" value="7" displayname="SND_Wpn_Impacts" />
        <item name="SND_Wpn_Flybys" value="8" displayname="SND_Wpn_Flybys" />
        <item name="SND_Characters" value="9" displayname="SND_Characters" />
        <item name="SND_Ambience" value="10" displayname="SND_Ambience" />
        <item name="SND_Props" value="11" displayname="SND_Props" />
        <item name="SND_Prop_Item" value="12" displayname="SND_Prop_Item" />
        <item name="SND_FS_HM" value="13" displayname="SND_FS_HM" />
        <item name="SND_FS_NPC" value="14" displayname="SND_FS_NPC" />
        <item name="SND_VisualFX" value="15" displayname="SND_VisualFX" />
        <item name="SND_VisualFX_ShotActivate" value="16" displayname="SND_VisualFX_ShotActivate" />
        <item name="SND_VisualFX_Explosions" value="17" displayname="SND_VisualFX_Explosions" />
        <item name="SND_Diag_HM" value="18" displayname="SND_Diag_HM" />
        <item name="SND_Diag_NPC" value="19" displayname="SND_Diag_NPC" />
        <item name="SND_CS_Ingame" value="20" displayname="SND_CS_Ingame" />
        <item name="SND_CS_PreRend" value="21" displayname="SND_CS_PreRend" />
        <item name="SND_Music_Env" value="22" displayname="SND_Music_Env" />
        <item name="SND_MusicNonEnv" value="23" displayname="SND_MusicNonEnv" />
        <item name="SND_SpecialFX_ShootingBallet" value="24" displayname="SND_SpecialFX_ShootingBallet" />
        <item name="SND_SpecialFX_CC" value="25" displayname="SND_SpecialFX_CC" />
        <item name="SND_SpecialFX_Jumps" value="26" displayname="SND_SpecialFX_Jumps" />
        <item name="SND_SpecialFX_Closet" value="27" displayname="SND_SpecialFX_Closet" />
        <item name="SND_SpecialFX_Vent" value="28" displayname="SND_SpecialFX_Vent" />
        <item name="SND_SpecialFX_Instinct" value="29" displayname="SND_SpecialFX_Instinct" />
        <item name="SND_SpecialFX_HumanShield" value="30" displayname="SND_SpecialFX_HumanShield" />
        <item name="SND_SpecialFX_Disguise" value="31" displayname="SND_SpecialFX_Disguise" />
        <item name="SND_SpecialFX_Agility" value="32" displayname="SND_SpecialFX_Agility" />
        <item name="SND_Stingers_SFX" value="33" displayname="SND_Stingers_SFX" />
        <item name="SND_GUI" value="34" displayname="SND_GUI" />
        <item name="SND_Test" value="35" displayname="SND_Test" />
        <item name="ANIM_HM_Generic" value="36" displayname="ANIM_HM_Generic" />
        <item name="ANIM_HM_Loco" value="37" displayname="ANIM_HM_Loco" />
        <item name="ANIM_HM_Agility" value="38" displayname="ANIM_HM_Agility" />
        <item name="ANIM_HM_Suit_Flap" value="39" displayname="ANIM_HM_Suit_Flap" />
        <item name="ANIM_HM_Suit_Release" value="40" displayname="ANIM_HM_Suit_Release" />
        <item name="ANIM_HM_Suit_Slide" value="41" displayname="ANIM_HM_Suit_Slide" />
        <item name="ANIM_HM_Suit_LandImpact" value="42" displayname="ANIM_HM_Suit_LandImpact" />
        <item name="ANIM_HM_Suit_Grab" value="43" displayname="ANIM_HM_Suit_Grab" />
        <item name="ANIM_HM_Suit_Roll" value="44" displayname="ANIM_HM_Suit_Roll" />
        <item name="ANIM_HM_Suit_Swoosh_Body" value="45" displayname="ANIM_HM_Suit_Swoosh_Body" />
        <item name="ANIM_HM_Suit_Swoosh_Fast" value="46" displayname="ANIM_HM_Suit_Swoosh_Fast" />
        <item name="ANIM_HM_CC_Impacts" value="47" displayname="ANIM_HM_CC_Impacts" />
        <item name="ANIM_HM_CC_Movement" value="48" displayname="ANIM_HM_CC_Movement" />
        <item name="ANIM_NPC_Generic" value="49" displayname="ANIM_NPC_Generic" />
        <item name="ANIM_NPC_Loco" value="50" displayname="ANIM_NPC_Loco" />
        <item name="ANIM_NPC_CC_Impacts" value="51" displayname="ANIM_NPC_CC_Impacts" />
        <item name="ANIM_NPC_CC_Movement" value="52" displayname="ANIM_NPC_CC_Movement" />
        <item name="SND_Wpn_HM_Tail" value="53" displayname="SND_Wpn_HM_Tail" />
        <item name="SND_Wpn_NPC_Tail" value="54" displayname="SND_Wpn_NPC_Tail" />
        <item name="SND_Diag_NPC_Crowd" value="55" displayname="SND_Diag_NPC_Crowd" />
        <item name="SND_Phys_RigidBody_Ragdoll" value="56" displayname="SND_Phys_RigidBody_Ragdoll" />
        <item name="SND_Diag_VO" value="57" displayname="SND_Diag_VO" />
        <item name="SND_GUI_Menu" value="58" displayname="SND_GUI_Menu" />
        <item name="SND_Props_Doors" value="59" displayname="SND_Props_Doors" />
        <item name="SND_Wpn_HM_Handguns" value="60" displayname="SND_Wpn_HM_Handguns" />
        <item name="SND_Wpn_HM_Revolvers" value="61" displayname="SND_Wpn_HM_Revolvers" />
        <item name="SND_Wpn_HM_Rifles" value="62" displayname="SND_Wpn_HM_Rifles" />
        <item name="SND_Wpn_HM_Shotguns" value="63" displayname="SND_Wpn_HM_Shotguns" />
        <item name="SND_Wpn_HM_Smgs" value="64" displayname="SND_Wpn_HM_Smgs" />
        <item name="SND_Wpn_HM_Snipers" value="65" displayname="SND_Wpn_HM_Snipers" />
        <item name="SND_Wpn_HM_Other" value="66" displayname="SND_Wpn_HM_Other" />
        <item name="SND_Wpn_NPC_Handguns" value="67" displayname="SND_Wpn_NPC_Handguns" />
        <item name="SND_Wpn_NPC_Revolvers" value="68" displayname="SND_Wpn_NPC_Revolvers" />
        <item name="SND_Wpn_NPC_Rifles" value="69" displayname="SND_Wpn_NPC_Rifles" />
        <item name="SND_Wpn_NPC_Shotguns" value="70" displayname="SND_Wpn_NPC_Shotguns" />
        <item name="SND_Wpn_NPC_Smgs" value="71" displayname="SND_Wpn_NPC_Smgs" />
        <item name="SND_Wpn_NPC_Snipers" value="72" displayname="SND_Wpn_NPC_Snipers" />
        <item name="SND_Wpn_NPC_Other" value="73" displayname="SND_Wpn_NPC_Other" />
        <item name="SND_Diag_NPC_Oneliner" value="74" displayname="SND_Diag_NPC_Oneliner" />
        <item name="SND_Moments" value="75" displayname="SND_Moments" />
      </items>
    </enum>
    <enum name="ZSoundChannelGroupDuckMaster.EDuckingChannelAttenuationMode" taggedForFullParsing="true">
      <items>
        <item name="eDuckingChannelAttenuationMode_Sum" value="0" displayname="eDuckingChannelAttenuationMode_Sum" />
        <item name="eDuckingChannelAttenuationMode_Loudest" value="1" displayname="eDuckingChannelAttenuationMode_Loudest" />
      </items>
    </enum>
    <enum name="ESoundPlayParameters" taggedForFullParsing="true">
      <items>
        <item name="SOUND_PLAY_SINGLE" value="0" displayname="SOUND_PLAY_SINGLE" />
        <item name="SOUND_PLAY_RANDOM" value="1" displayname="SOUND_PLAY_RANDOM" />
        <item name="SOUND_PLAY_SHUFFLE" value="2" displayname="SOUND_PLAY_SHUFFLE" />
      </items>
    </enum>
    <enum name="ESOUND_MAXAUDIBLEBEHAVIOR" taggedForFullParsing="true">
      <items>
        <item name="SOUND_FAIL" value="0" displayname="SOUND_FAIL" />
        <item name="SOUND_STEALLOWEST" value="1" displayname="SOUND_STEALLOWEST" />
        <item name="SOUND_STEALOLDEST" value="2" displayname="SOUND_STEALOLDEST" />
        <item name="SOUND_STEALMOSTDISTANT" value="3" displayname="SOUND_STEALMOSTDISTANT" />
        <item name="SOUND_STEALLEASTIMPORTANT" value="4" displayname="SOUND_STEALLEASTIMPORTANT" />
        <item name="SOUND_FADELOWEST" value="5" displayname="SOUND_FADELOWEST" />
        <item name="SOUND_FADEMOSTDISTANT" value="6" displayname="SOUND_FADEMOSTDISTANT" />
      </items>
    </enum>
    <enum name="ESoundGlobalReverb" taggedForFullParsing="true">
      <items>
        <item name="eSoundGlobalReverb_Ambience0" value="1" displayname="eSoundGlobalReverb_Ambience0" />
        <item name="eSoundGlobalReverb_Ambience1" value="2" displayname="eSoundGlobalReverb_Ambience1" />
        <item name="eSoundGlobalReverb_AllAmbience" value="3" displayname="eSoundGlobalReverb_AllAmbience" />
      </items>
    </enum>
    <enum name="ESOUND_3DROLLOFF_TYPE" taggedForFullParsing="true">
      <items>
        <item name="SOUND_3D_LINEAR_ROLLOFF" value="0" displayname="SOUND_3D_LINEAR_ROLLOFF" />
        <item name="SOUND_3D_LOGARITHMIC_ROLLOFF" value="1" displayname="SOUND_3D_LOGARITHMIC_ROLLOFF" />
        <item name="SOUND_3D_CUSTOM_ROLLOFF" value="2" displayname="SOUND_3D_CUSTOM_ROLLOFF" />
      </items>
    </enum>
    <enum name="ESoundAmbienceReverbPreset" taggedForFullParsing="true">
      <items>
        <item name="eSoundAmbienceReverb_Off" value="0" displayname="eSoundAmbienceReverb_Off" />
        <item name="eSoundAmbienceReverb_Generic" value="1" displayname="eSoundAmbienceReverb_Generic" />
        <item name="eSoundAmbienceReverb_PaddedCell" value="2" displayname="eSoundAmbienceReverb_PaddedCell" />
        <item name="eSoundAmbienceReverb_Room" value="3" displayname="eSoundAmbienceReverb_Room" />
        <item name="eSoundAmbienceReverb_Bathroom" value="4" displayname="eSoundAmbienceReverb_Bathroom" />
        <item name="eSoundAmbienceReverb_Livingroom" value="5" displayname="eSoundAmbienceReverb_Livingroom" />
        <item name="eSoundAmbienceReverb_StoneRoom" value="6" displayname="eSoundAmbienceReverb_StoneRoom" />
        <item name="eSoundAmbienceReverb_Auditorium" value="7" displayname="eSoundAmbienceReverb_Auditorium" />
        <item name="eSoundAmbienceReverb_Concerthall" value="8" displayname="eSoundAmbienceReverb_Concerthall" />
        <item name="eSoundAmbienceReverb_Cave" value="9" displayname="eSoundAmbienceReverb_Cave" />
        <item name="eSoundAmbienceReverb_Arena" value="10" displayname="eSoundAmbienceReverb_Arena" />
        <item name="eSoundAmbienceReverb_Hangar" value="11" displayname="eSoundAmbienceReverb_Hangar" />
        <item name="eSoundAmbienceReverb_CarpettedHallway" value="12" displayname="eSoundAmbienceReverb_CarpettedHallway" />
        <item name="eSoundAmbienceReverb_Hallway" value="13" displayname="eSoundAmbienceReverb_Hallway" />
        <item name="eSoundAmbienceReverb_StoneCorridor" value="14" displayname="eSoundAmbienceReverb_StoneCorridor" />
        <item name="eSoundAmbienceReverb_Alley" value="15" displayname="eSoundAmbienceReverb_Alley" />
        <item name="eSoundAmbienceReverb_Forest" value="16" displayname="eSoundAmbienceReverb_Forest" />
        <item name="eSoundAmbienceReverb_City" value="17" displayname="eSoundAmbienceReverb_City" />
        <item name="eSoundAmbienceReverb_Mountains" value="18" displayname="eSoundAmbienceReverb_Mountains" />
        <item name="eSoundAmbienceReverb_Quarry" value="19" displayname="eSoundAmbienceReverb_Quarry" />
        <item name="eSoundAmbienceReverb_Plain" value="20" displayname="eSoundAmbienceReverb_Plain" />
        <item name="eSoundAmbienceReverb_ParkingLot" value="21" displayname="eSoundAmbienceReverb_ParkingLot" />
        <item name="eSoundAmbienceReverb_SewerPipe" value="22" displayname="eSoundAmbienceReverb_SewerPipe" />
        <item name="eSoundAmbienceReverb_UnderWater" value="23" displayname="eSoundAmbienceReverb_UnderWater" />
      </items>
    </enum>
    <enum name="ESoundGateType" taggedForFullParsing="true">
      <items>
        <item name="SOUNDGATE_TYPE_ROUND" value="0" displayname="SOUNDGATE_TYPE_ROUND" />
        <item name="SOUNDGATE_TYPE_SHARPCORNERS" value="1" displayname="SOUNDGATE_TYPE_SHARPCORNERS" />
      </items>
    </enum>
    <enum name="ESoundCollisionType" taggedForFullParsing="true">
      <items>
        <item name="ESCT_IMPACT" value="0" displayname="ESCT_IMPACT" />
        <item name="ESCT_ROLLING" value="1" displayname="ESCT_ROLLING" />
        <item name="ESCT_SLIDING" value="2" displayname="ESCT_SLIDING" />
        <item name="ESCT_ENDED" value="3" displayname="ESCT_ENDED" />
        <item name="ESCT_SHATTER" value="4" displayname="ESCT_SHATTER" />
      </items>
    </enum>
    <enum name="ESoundBlendLoopMode" taggedForFullParsing="true">
      <items>
        <item name="ESBLM_ONESHOT" value="0" displayname="ESBLM_ONESHOT" />
        <item name="ESBLM_LOOP_IMMEDIATESTOP" value="1" displayname="ESBLM_LOOP_IMMEDIATESTOP" />
        <item name="ESBLM_LOOP_FINISHLOOP" value="2" displayname="ESBLM_LOOP_FINISHLOOP" />
        <item name="ESBLM_RETRIGGER" value="3" displayname="ESBLM_RETRIGGER" />
      </items>
    </enum>
    <enum name="ESoundReverbPreset" taggedForFullParsing="true">
      <items>
        <item name="eOff" value="0" displayname="eOff" />
        <item name="eGeneric" value="1" displayname="eGeneric" />
        <item name="ePaddedCell" value="2" displayname="ePaddedCell" />
        <item name="eRoom" value="3" displayname="eRoom" />
        <item name="eBathroom" value="4" displayname="eBathroom" />
        <item name="eLivingroom" value="5" displayname="eLivingroom" />
        <item name="eStoneRoom" value="6" displayname="eStoneRoom" />
        <item name="eAuditorium" value="7" displayname="eAuditorium" />
        <item name="eConcerthall" value="8" displayname="eConcerthall" />
        <item name="eCave" value="9" displayname="eCave" />
        <item name="eArena" value="10" displayname="eArena" />
        <item name="eHangar" value="11" displayname="eHangar" />
        <item name="eCarpettedHallway" value="12" displayname="eCarpettedHallway" />
        <item name="eHallway" value="13" displayname="eHallway" />
        <item name="eStoneCorridor" value="14" displayname="eStoneCorridor" />
        <item name="eAlley" value="15" displayname="eAlley" />
        <item name="eForest" value="16" displayname="eForest" />
        <item name="eCity" value="17" displayname="eCity" />
        <item name="eMountains" value="18" displayname="eMountains" />
        <item name="eQuarry" value="19" displayname="eQuarry" />
        <item name="ePlain" value="20" displayname="ePlain" />
        <item name="eParkingLot" value="21" displayname="eParkingLot" />
        <item name="eSewerPipe" value="22" displayname="eSewerPipe" />
        <item name="eUnderWater" value="23" displayname="eUnderWater" />
      </items>
    </enum>
    <enum name="EMusicPlaylistPlayType" taggedForFullParsing="true">
      <items>
        <item name="EMusicPlaylistPlayType_First" value="0" displayname="EMusicPlaylistPlayType_First" />
        <item name="EMusicPlaylistPlayType_All" value="1" displayname="EMusicPlaylistPlayType_All" />
        <item name="EMusicPlaylistPlayType_Random" value="2" displayname="EMusicPlaylistPlayType_Random" />
        <item name="EMusicPlaylistPlayType_Shuffle" value="3" displayname="EMusicPlaylistPlayType_Shuffle" />
        <item name="EMusicPlaylistPlayType_RndStart" value="4" displayname="EMusicPlaylistPlayType_RndStart" />
      </items>
    </enum>
    <enum name="EMusicPlayStartType" taggedForFullParsing="true">
      <items>
        <item name="EMusicPlayStartType_Now" value="0" displayname="EMusicPlayStartType_Now" />
        <item name="EMusicPlayStartType_NextBeat" value="1" displayname="EMusicPlayStartType_NextBeat" />
        <item name="EMusicPlayStartType_NextBar" value="2" displayname="EMusicPlayStartType_NextBar" />
        <item name="EMusicPlayStartType_AtEnd" value="3" displayname="EMusicPlayStartType_AtEnd" />
      </items>
    </enum>
    <enum name="EMusicPlayGroup" taggedForFullParsing="true">
      <items>
        <item name="EMusic_PlayGroup_None" value="0" displayname="EMusic_PlayGroup_None" />
        <item name="EMusic_PlayGroup_Segment" value="1" displayname="EMusic_PlayGroup_Segment" />
        <item name="EMusic_PlayGroup_A" value="2" displayname="EMusic_PlayGroup_A" />
        <item name="EMusic_PlayGroup_B" value="3" displayname="EMusic_PlayGroup_B" />
        <item name="EMusic_PlayGroup_C" value="4" displayname="EMusic_PlayGroup_C" />
        <item name="EMusic_PlayGroup_D" value="5" displayname="EMusic_PlayGroup_D" />
        <item name="EMusic_PlayGroup_E" value="6" displayname="EMusic_PlayGroup_E" />
        <item name="EMusic_PlayGroup_Sting" value="7" displayname="EMusic_PlayGroup_Sting" />
        <item name="EMusic_PlayGroup_BurstA" value="8" displayname="EMusic_PlayGroup_BurstA" />
        <item name="EMusic_PlayGroup_BurstB" value="9" displayname="EMusic_PlayGroup_BurstB" />
        <item name="EMusic_PlayGroup_BurstC" value="10" displayname="EMusic_PlayGroup_BurstC" />
        <item name="EMusic_PlayGroup_BurstD" value="11" displayname="EMusic_PlayGroup_BurstD" />
        <item name="EMusic_PlayGroup_BurstE" value="12" displayname="EMusic_PlayGroup_BurstE" />
      </items>
    </enum>
    <enum name="EMusicTrackExposingType" taggedForFullParsing="true">
      <items>
        <item name="EMusicTrackExposingType_None" value="0" displayname="EMusicTrackExposingType_None" />
        <item name="EMusicTrackExposingType_Attenuation" value="1" displayname="EMusicTrackExposingType_Attenuation" />
        <item name="EMusicTrackExposingType_Lowpass" value="2" displayname="EMusicTrackExposingType_Lowpass" />
      </items>
    </enum>
    <enum name="EMusicTransitionFadeType" taggedForFullParsing="true">
      <items>
        <item name="EMusicTransitionFadeType_None" value="0" displayname="EMusicTransitionFadeType_None" />
        <item name="EMusicTransitionFadeType_SourceOut" value="1" displayname="EMusicTransitionFadeType_SourceOut" />
        <item name="EMusicTransitionFadeType_DestinationIn" value="2" displayname="EMusicTransitionFadeType_DestinationIn" />
        <item name="EMusicTransitionFadeType_CrossFade" value="3" displayname="EMusicTransitionFadeType_CrossFade" />
      </items>
    </enum>
    <enum name="EMusicTransitionType" taggedForFullParsing="true">
      <items>
        <item name="EMusicTransitionType_Now" value="0" displayname="EMusicTransitionType_Now" />
        <item name="EMusicTransitionType_NowAligned" value="1" displayname="EMusicTransitionType_NowAligned" />
        <item name="EMusicTransitionType_NextBeat" value="2" displayname="EMusicTransitionType_NextBeat" />
        <item name="EMusicTransitionType_NextBar" value="3" displayname="EMusicTransitionType_NextBar" />
        <item name="EMusicTransitionType_AtEnd" value="4" displayname="EMusicTransitionType_AtEnd" />
        <item name="EMusicTransitionType_Custom" value="5" displayname="EMusicTransitionType_Custom" />
      </items>
    </enum>
  </enums>
  <runtimeresourcedeclarations>
    <resource name="ridGizmoSound" id="[assembly:/Geometry/G2/Gizmos.wl2?/Gizmo_Sound_01.prim].prim" />
    <resource name="rid_sound_SoundMaterialDescriptor_Undefined" id="[assembly:/Templates/Sound/SoundMaterialDescriptors.template?/HM5SoundMaterialDescriptor_Undefined.entitytemplate].entityresource" />
    <resource name="rid_sound_SoundMaterialDescriptor_Ragdoll" id="[assembly:/Templates/Sound/SoundMaterialDescriptors.template?/HM5SoundMaterialDescriptor_Ragdoll.entitytemplate].entityresource" />
  </runtimeresourcedeclarations>
</moduleinfo>